$string = 'Это тестовое сообщение, 1 ссылка http://ya.ru, есть еще google.ru ну и mysite.com.';
$link = array();
if (file_exists('link.txt')) {
$link = file('link.txt');
}
$flink = "/((http:\/\/|https:\/\/)?([a-z0-9\-\.]+)?[a-z0-9\-]+(!?\.[a-z]{2,4}))/";
preg_match_all($flink, $string, $text_link);
for ($i = 0; $i < count($text_link[0]); $i++) {
for ($a = 0; $a < count($link); $a++) {
echo $text_link[0][$i] . " - " . $link[$a] . " <br/>"; // это чтобы наглядней было видно где есть совпадения
if ($text_link[0][$i] == $link[$a]) {
echo "есть совпадение<br/>";
// оформляем ссылку
} else {
$string = preg_replace('/(http:\/\/|https:\/\/)?' . $link[$a] . '/',
'[недопустимая сервисом ссылка]', $string);
}
}
}
содержимое link.txt
ya.ru
google.ru
mail.ru
Спустя 19 минут, 8 секунд (14.12.2011 - 02:01) walerus написал(а):
У меня находит.
Кодировки скрипта и файла link.txt одинаковы ?
http://ya.ru - google.ru
google.ru - google.ru
есть совпадение
mysite.com - google.ru
Кодировки скрипта и файла link.txt одинаковы ?
Спустя 6 минут, 49 секунд (14.12.2011 - 02:08) fire написал(а):
В одинаковых, попробывал только что и в utf-8 и ansi и ничего
Спустя 11 минут, 6 секунд (14.12.2011 - 02:19) walerus написал(а):
Ну так не бывает ), у кого то работает, у кого то нет )
У тебя ошибка,
вот так исправь, лишние пробелы цепляет
У тебя ошибка,
if (trim($text_link[0][$i]) == trim( $link[$a] ) )
вот так исправь, лишние пробелы цепляет