Я работаю над своим сценарием PHP, чтобы проверить, что если у меня есть строки http или https, чтобы я мог заменить их на теги атрибутов с помощью функции preg_replace.
Когда я пытаюсь это сделать:
$message = preg_replace("/<a(.*?)>/i", "<a$1 target=\"_blank\">", $email_body);
Это заменит только некоторые строки, но не на всех.
<a href="https://example1.io/" target="_blank">https://example1.io</a>
<a href="http://example2.in/71syplfpibkhttmf2wt/3baeceb6-ec04-46fe-a56d-bf16debfabd2" target="_blank">my site</a>
<a href="https://example3.com/61HBCSN/Z37BSH/" target="_blank" style="color: #15c; text-decoration: underline;">https://example3.com/61HBCSN/Z37BSH/</a>
Вот мои строки, которые идут с http и https:
<font color="red"> https://www.example3.com/61HBCSN/2C697NH/</font>
<font=“red”>http://www.example3.com/61HBCSN/29BWJG2/<br></font=“red”>
https://example1.io/
http://example2.in/71syplfpibkhttmf2wt/3baeceb6-ec04-46fe-a56d-bf16debfabd2
https://example3.com/61HBCSN/Z37BSH/
Вот полныйcode:
if (strpos($mail->htmlText, 'http') !== false || (strpos($mail->htmlText, 'https') !== false))
{
$email_body = $mail->htmlText;
$message = preg_replace("/<a(.*?)>/i", "<a$1 target=\"_blank\">", $email_body);
$mail->htmlText = $message;
$mail->mailtype = 'html';
}
Вот чего я хочу достичь:
<a href="https://example1.io/" target="_blank">https://example1.io</a>
<a href="http://example2.in/71syplfpibkhttmf2wt/3baeceb6-ec04-46fe-a56d-bf16debfabd2" target="_blank">my site</a>
<a href="https://example3.com/61HBCSN/Z37BSH/" target="_blank" style="color: #15c; text-decoration: underline;">https://example3.com/61HBCSN/Z37BSH/</a>
<font color="red"><a href="https://www.example3.com/61HBCSN/2C697NH" target="_blank" style="color: #15c; text-decoration: underline;">https://www.example3.com/61HBCSN/2C697NH</a></font>
<font color="red"><a href="http://www.example3.com/61HBCSN/29BWJG2" target="_blank" style="color: #15c; text-decoration: underline;">http://www.example3.com/61HBCSN/29BWJG2</a></font>
Итак, я пытаюсь проверить, что если у меня есть строки http или https беззатем я хочу добавить теги атрибута с помощью функции preg_replace.
Не могли бы вы показать мне пример того, как я могу использовать регулярное выражение для проверки строк между http или https, если у меня нет атрибута? Затем я могу добавить теги атрибутов в http и https?
Спасибо.