|
|
|
| Друзья, скажите, как нати в строке все ссылки и заменить их на звездочки. Заменить я знаю, можно через preg_replace, а вот как их найти ... я непонимаю.
Например незнаю как сделать есть ссылка начинается на www а другая на http так вот как зафигачить все это слово целиком ? | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 13:07)
| | 1) Ошиблись веткой форума...
2)
<?php
preg_math("|(www|http) ну_и_далее|is", $link);
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 13:14)
| | а как точно написать ? без ну и далее ? | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 13:21)
| | приблизительно так
<?php
preg_math("|(www|http)://[a-z0-9]\.[a-z]{2,6}|is", $link);
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 13:25)
| | Скажите что не так?? я написал:
$str = "ходи мой сайт http://ya.ru он самый хороший";
preg_math("|(www|http)://[a-z0-9]\.[a-z]{2.6}|is", $str);
|
Пишет ошибку:
Fatal error: Call to undefined function preg_math() in /home/w/wm6996/shk/public_html/zas.php on line 9
|
поточнее вот: http://puu.sh/af0d | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 13:28)
| | ну Вы хотя бы переводчиком воспользовались, да заглянули в руководство по php, а не слепо копировали )))
я ошибся, не правильно написал имя функции )))
извините....
исправляйте... | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 13:31)
| | непрокатило - я потом вывел строку а она без изменений !! кстати насчет ошибки - у меня нотпад - он ее не подсвечивает )) | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 13:36)
| | а зачем Вам подсвечивать в notepad++ ссылки ?
Вам недостаточно того, что говорит сам php? | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 13:28)
| | preg_match()
$str = "ходи мой сайт http://ya.ru он самый хороший";
preg_match("/http:\/\/[a-z0-9]\.[a-z]{2,6}/is", $str);
|
| |
|
|
|
|
|
|
|
для: Sturmvogel
(09.12.2011 в 13:47)
| | да я уже поменял !! я говорю на выходе все равно строка со ссылкой стоит, а должна быть БЕЗ, то бишь код не работает, как поправить ? | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 13:51)
| | при помощи функции preg_match() осуществляется поиск в строке, но ни как не замена
читайте руководство
а вот preg_replace() как раз осуществляет замену по РВ
сначала найдите соответствие и если присутствует в строке ссылка - меняйте её | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 14:21)
| | неполучается, можете помочь ? пожалуйста. | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 15:11)
| | показывайте, что Вы написали | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 15:12)
| |
// задача вместо ссылки сделать звездочки
$str = "ходи мой сайт http://ya.ru он самый хороший";
preg_match("/http:\/\/[a-z0-9]\.[a-z]{2,6}/is", $str);
// preg_replace
|
дальше не осилил, у меня слабые знания в регулярных выражениях, точнее их нет, вот учусь на этом примере. | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 15:21)
| | есть так называемые квантификаторы, "+", "*", "?", {n}, {n,} и {n, m}
вот Вы их не использовали, поэтому у Вас не работает
квадратные скобки обозначают только один символ, а у Вас в ссылке их несколько
почитайте здесь | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 15:34)
| | ну помогите пожалуйста !! | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 15:53)
| | Вы прочитали, пробовали написать код?
Если да, то показывайте... | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 16:36)
| | вы надо мной издеваетесь ... ну и ладно. | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 16:49)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.12.2011 в 16:54)
| | сгодиться и неготовое, главное посмотреть как это делается 1) найти 2) заменить
тут главное понять ... | |
|
|
|
|
|
|
|
для: mabelrod
(09.12.2011 в 16:55)
| | Вам дали уже готовое решение, осталось только добавить квантификатор и заменить функцию...
Всё! более ни чего не надо делать.
Включите мозги и подумайте хоть немного | |
|
|
|