Мне нужна помощь с моим текущим кодом, так как мне сложно создать тег привязки. Мне нужно заменить URL-адрес тегом привязки, когда на странице есть строка http или https, а теги img и anchor отсутствуют.
Если у меня есть тег img и anchor, я хочу игнорировать его и делатьне добавляйте ничего, если у меня нет тега img и якоря, как если бы у меня была строка http или https, чтобы я мог использовать его для создания тега якоря с URL.
Когда я пытаюсь это сделать:
$html = "<a id=":1cz" class="aQy aZr e aZI" href="https://mail.google.com/mail/u/0?ui=2&ik=1ca3fe2372&attid=0.1&permmsgid=msg-a:r-103572840791832398&th=16a655dceeae5ad6&view=att&disp=safe&realattid=f_jv1babdd0" target="_blank" rel="noreferrer"></a>
http://clicks.example.com/y/ct/?l=KxJU8&m=3ZDqmfOWi_DwlcG&b=tXXwls_rBd6eoiu8B0TqzQ";
$email_body = $html;
$message = preg_replace('/(?<!src=[\'"])(?<!a href=[\'"])(((f|ht){1}tps?:\/\/)[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/i', '<a href="\\1" target="_blank">\\1</a>', $email_body);
$mail->htmlText = $message;
$mail->mailtype = 'html';
Это создаст тег привязки, когда у меня будет тег привязки. Он будет работать только тогда, когда у меня нет тега img, поскольку он создаст тег привязки с URL-адресом. Я попытался удалить (?<!a href=[\'"])
, но это не имело никакого значения, так как тег привязки все равно будет отображаться, поэтому я не знаю, что делать.
Вот, например, что происходит, когда я используюэто с моим кодом:
<a id=":1cz" target="_blank" class="aQy aZr e aZI" href="<a href=" https:="" mail.google.com="" mail="" u="" 0?ui="2&"">https://mail.google.com/mail/u/0?ui=2&</a>
";ik=1ca3fe2372&attid=0.1&permmsgid=msg-a:r-103572840791832398&th=16a655dceeae5ad6&view=att&disp=safe&realattid=f_jv1babdd0" tabindex="0">
Вот что я хочу достичь:
<a href="http://clicks.example.com/y/ct/?l=KxJU8&m=3ZDqmfOWi_DwlcG&b=tXXwls_rBd6eoiu8B0TqzQ" target="_blank">http://clicks.example.com/y/ct/?l=KxJU8&m=3ZDqmfOWi_DwlcG&b=tXXwls_rBd6eoiu8B0TqzQ</a>
Можете ли вы показать мне пример того, как я мог бы использовать функцию preg_replace
для замены наURL без тега img и якоря, чтобы я мог видеть гиперссылку на своей веб-странице?
Спасибо.