Как в тексте одним выражением найти все ссылки содержащие ".php" Ссылки могут быть как с href, так и просто в тексте. Кавычки в тексте могут быть одиночными и двойными Пример текста (синтаксис не соблюден):
<script>
var chatUrl = 'cht_data.php';
var sm = "smiles.php"
</script>
<a onclick="showMsg('/car/error_form.php');">Bla</a>
<img src="images/sep.gif">
<iframe src="cht_iframe.php?mode=text"></iframe>
<a href="https://google.com">Google</a>
Сделал так, но думаю можно сделать лучше:
preg_match_all('~\s*([\'"])(.+?)\1\s*~', $string, $match);
foreach($match[2] as $scphp){
if(strpos($scphp, '.php') !== false){
echo "$scphp\r\n";
}}
Спасибо.
Регулярное выражение ниже нашел 4 совпадения по тексту из примера. Ссылка будет в первой группе.
preg_match_all("/[\'\"]{1}([^\"\']+\.php\b[^\'\"]*)[\'\"]{1}/i", $string, $match);
Найденные совпадения:
1. 'cht_data.php'
1. cht_data.php
2. "smiles.php"
1. smiles.php
3. '/car/error_form.php'
1. /car/error_form.php
4. "cht_iframe.php?mode=text"
1. cht_iframe.php?mode=text
Расшифровка выражения
['"]{1} - Кавычка одинарная или двойная, 1 штука
( - начало группы
[^"']+\.php - последовательность символов, кроме символа кавычки одинарной или двойной и .php следующий после последовательности
\b - граница слова, исключить неожиданное появление .php[a-z]+
[^'"]* - ноль и более любых символов за исключение одинарной и двойной кавычки
) - конец группы
['"]{1} - одинарная или двойная кавычка в количестве 1 штуки.
/i - игнорирование регистра PHP=php и т.д.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть проектСоздал папку api, сервер настроил так, что по адресу
Нашел в интернете отличную функцию, которая уменьшает изображения, обрезает и тд