Tôi đang cố gắng sử dụng regex để thay thế thuộc tính nguồn (có thể là hình ảnh hoặc bất kỳ thẻ nào) trong PHP.Regex để thay thế thuộc tính src html trong PHP
Tôi đã một chuỗi như thế này:
$string2 = "<html><body><img src = 'images/test.jpg' /><img src = 'http://test.com/images/test3.jpg'/><video controls="controls" src='../videos/movie.ogg'></video></body></html>";
Và tôi muốn biến nó thành:
$string2 = "<html><body><img src = 'test.jpg' /><img src = 'test3.jpg'/><video controls="controls" src='movie.ogg'></video></body></html>";
Heres những gì tôi đã cố gắng:
$string2 = preg_replace("/src=["']([/])(.*)?["'] /", "'src=' . convert_url('$1') . ')'" , $string2);
echo htmlentities ($string2);
Về cơ bản nó đã không 't thay đổi bất cứ điều gì và đã cho tôi một cảnh báo về chuỗi không thoát.
Không $1
gửi nội dung của chuỗi? Có gì sai ở đây?
Và chức năng của convert_url là từ một ví dụ tôi đăng ở đây trước:
function convert_url($url)
{
if (preg_match('#^https?://#', $url)) {
$url = parse_url($url, PHP_URL_PATH);
}
return basename($url);
}
Đó là nghĩa vụ phải loại bỏ đường dẫn url và chỉ trả lại tên tập tin.
chuỗi gốc và những gì bạn muốn biến thành cả hai chuỗi trống - có thiếu gì không? – ametren
cố gắng thay thế "bằng \" – Mageek
Chỉ cần chỉnh sửa lại. – Ashesh