Я знаю, что видел много такого, но мне нужно что-то немного более отличное от нормы. К сожалению, когда я ищу это где угодно, он оказывается похороненным в сообщениях о том, что просто превращаю ссылку в ссылку на HTML-тег. Я хочу, чтобы функция PHP удаляла из ссылки «http: //» и «https: //», а также все, что находится после. *, Поэтому в основном я ищу превратить A в B.
A: http://www.youtube.com/watch?v=spsnQWtsUFM
B: www.youtube.com
Если это поможет, вот моя текущая функция замены регулярных выражений PHP.
ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "\\0", htmlspecialchars($body, ENT_QUOTES)));
Возможно, также было бы полезно сказать, что я совершенно не понимаю регулярные выражения. Спасибо!
РЕДАКТИРОВАТЬ: Когда я ввел такой комментарий blahblah https://www.facebook.com/?sk=ff&ap=1 blah
, я получил такой html www.facebook.com
который вообще не работает, поскольку берет с собой текст вокруг ссылки. Однако он отлично работает, если кто-то только комментирует ссылку.Это когда я изменил функцию на эту
preg_replace("#^(.*)//(.*)/(.*)$#",'\2', htmlspecialchars($body, ENT_QUOTES));