php - replace both http and http: from url -
tried this, $url = preg_replace('!(http|http:|ftp|scp)(s)?:\/\/[a-za-z0-9.=?&-_/]+!', "<a style=text-decoration:underline;color:blue href=\"\\0\" target='_blank' >\\0</a>",$feed->feed_text)):
i want replace both http , http: url. tried above 1 replacing http
, not http:
.but if tried 1 of in regex working.if use both in expression not replacing http:
please see embeded script using,
1.<iframe frameborder="0" scrolling="no" id="chat_embed" src="http://twitch.tv/chat/embed?channel=athenelive&popout_chat=true" height="500" width="350"></iframe>
->having http:(need remove)
2.<iframe width="560" height="315" src="//www.youtube.com/embed/jxhojzlrxag" frameborder="0" allowfullscreen></iframe>
->if use http: alone in regex youtube embedded script not taken youtube url. both compatible purpose used http|http:
.
update:
i need remove http: 1st frame given above.
should line
<iframe frameborder="0" scrolling="no" id="chat_embed" src="//twitch.tv/chat/embed?channel=athenelive&popout_chat=true" height="500" width="350"></iframe>
it doesn't work http:
because put colon after capturing group:
(http|http:|ftp|scp)(s)?: ^ ^
to solve problem, remove http:
capturing group (that useless):
(http|ftp|scp)(s)?:
i think looking that:
$url = preg_replace('~\bhttps?:~', '', $url);
Comments
Post a Comment