проблема с регулярным выражением
есть регулярка
/https?:\/\/(rutube)\.ru\/video\/+([0-9a-f]{32})+(\b.\S?)/gmi и ссылка - http://rutube.ru/video/684a42ab08bd4...180/?bmstart=6 при замене через replace оставляет хвост - bmstart=6 как исправить чтобы хвост тоже удалялся но до пробела с учетом что его в тексте может и не быть. Благодарю. |
Цитата:
Либо просто у ссылок сразу отрезай параметры, а потом обрабатывай их своей регуляркой. |
Ну допустим вводит юзер текст и за одно ссылку на видос, либо скопировал где нибуди текст с сылкой. Cсылку надо заменить на iframe, при этом кроме ссылки может быть еще и текст который не надо трогать.
/https?:\/\/(rutube)\.ru\/video\/+([0-9a-f]{32})+\/[^\s]*[\s]/gi с такой регуляркой удаляется первое слово после ссылки. |
Цитата:
<script> var str='и ссылка - http://rutube.ru/video/684a42ab08bd443f3c25d05748a33180/?bmstart=6 при замене через replace оставляет хвост'; alert(str.replace(/(https?:\/\/[^\s]+)/gim,'[iframe]$1[/iframe]')); </script> P.S. BBkod сам вставляется... :( |
ksa,
:-? <script> var str='и ссылка - http://rutube.ru/video/684a42ab08bd443f3c25d05748a33180/?bmstart=6 при замене через replace оставляет хвост'; alert(str.replace(/(https?:\/\/[^\s]+\/)[^\s]*/gim,'[iframe]$1[/iframe] ')); </script> |
рони, да, при использовании
<script> </script> ББкод не в ставляется. :yes: |
ksa,
bmstart=6 это вроде ненужно тс |
Цитата:
Цитата:
|
рони, в любом случае ТСу есть из чего выбирать... ;)
|
Не работает. Первое слово после ссылки все равно удаляется!
|
/https?:\/\/(rutube)\.ru\/video\/+([0-9a-f]{32})+\/([^\s<&]{1,}[(\s| )]*)?/gmiЭто выражение работает до первого амперсанта по скольку замена производится в пораграфе с contenteditable="true" Может подскажете как учесть все амперсанты в ссылке? |
итоговая регулярка
/https?:\/\/(rutube)\.ru\/video\/+([0-9a-f]{32})\b(\/?[-a-zA-Z0-9@:%_\+\.~#?&\/\/=]*)?/gmiпред выполнением замены ссылки, в строке в которой будет производиться замена ссылки надо заменить & и на соответствующие символы если замена производится в contenteditable="true" Всем спс. |
Часовой пояс GMT +3, время: 10:36. |