gì về một cái gì đó như thế này, xem xét bạn có thể muốn tái sử dụng nó với href
s khác:
$str = '<a href="link.html">text</a>';
$result = preg_replace('#(<a[^>]*>).*?(</a>)#', '$1$2', $str);
var_dump($result);
nào sẽ giúp bạn:
string '<a href="link.html"></a>' (length=24)
(Tôi đang xem xét bạn đã thực hiện lỗi đánh máy trong OP?)
Nếu bạn không cần phải phù hợp bất kỳ href khác, bạn có thể sử dụng một cái gì đó như:
$str = '<a href="link.html">text</a>';
$result = preg_replace('#(<a href="link.html">).*?(</a>)#', '$1$2', $str);
var_dump($result);
nào cũng sẽ giúp bạn:
string '<a href="link.html"></a>' (length=24)
Là một sidenote: đối với HTML phức tạp hơn, không cố gắng sử dụng cụm từ thông dụng: chúng hoạt động tốt cho loại tình huống đơn giản này, nhưng đối với phần HTML thực tế, chúng không thực sự hữu ích, trong chi l: HTML không hoàn toàn "thường xuyên" "đủ" để được phân tích cú pháp bằng các regex.
Nguồn
2009-09-01 11:18:49
Trong khi tác phẩm này hoạt động, bạn thường không muốn phân tích cú pháp HTML bằng các regex. Câu trả lời của Karim có thể thích hợp hơn. – Konerak