PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 13
Gerb
Отправлено: 15 Октября, 2019 - 01:55:54 • Тема: Запретить выставлять пробел после • Форум: Вопросы новичков
Ответов: 18 Просмотров: 1210
Как все это объеденить в
'#(?<!(?:ul\>|li\>)\])\r\n#i'
(Добавление)
'#\<br/>\s*\</li>#i' меняем на '</li>'
То есть не выставлять перенос строки перед закрывающим тегом '</li>'
Аналогично перед </div>
Gerb
Отправлено: 14 Октября, 2019 - 19:50:19 • Тема: Запретить выставлять пробел после • Форум: Вопросы новичков
Ответов: 18 Просмотров: 1210
Спс, но в таком случаи нет переноса строк совсем
PHP:
скопировать код в буфер обмена
$text = '[List]
[*]Список 1
[*]Список 2
[*]Список 3
[*]Список 4
[/List]
[right=50]
Выравнивание по правому краю
[/right]
[center=100]
Выравнивание по центру
[/center]
[left=50]
Выравнивание по левому краю
[/left]
[H3]Заголовок третьего уровня[/H3]
[H2]Заголовок второго уровня[/H2]' ;
Можно ли вот это безобразие
PHP:
скопировать код в буфер обмена
'#(?<!(?:ul\>|li\>)\])\r\n#i' , '#\<br/>\s*\</li>#i' , '#\<br/>\s*\</div>#i' , '#"\>\s*\<br/>#i' , '#ul\>\s*\<br/>#i' ,
'<br/>' , '</li>' , '</div>' , '">' , 'ul>' ,
Gerb
Отправлено: 13 Октября, 2019 - 15:53:23 • Тема: Запретить выставлять пробел после • Форум: Вопросы новичков
Ответов: 18 Просмотров: 1210
CODE (
html ):
скопировать код в буфер обмена
[List]
[*]Список
[*]Список
[/List]
[right=50]
Выравнивание по правому краю каю
[/right]
[center=100]
Выравнивание по центру
[/center]
[left=50]
Выравнивание по левому каю
[/left]
[H3]Заголовок третьего уровня[/H3]
[H2]Заголовок второго уровня[/H2]
Результат
CODE (
html ):
скопировать код в буфер обмена
<ul >
<li ><i class = "fad fa-circle" ></ i > Список</ li >
<li ><i class = "fad fa-circle" ></ i > Список</ li >
</ ul >
<div class = "p_right rl50" > Выравнивание по правому краю каю</ div >
<div class = "p_center rl100" > Выравнивание по центру</ div >
<div class = "p_left rl50" > Выравнивание по левому каю</ div >
<h3 > Заголовок третьего уровня</ h3 >
<h2 > Заголовок второго уровня</ h2 >
Или
CODE (
html ):
скопировать код в буфер обмена
[List]
[*]Список
[*]Список
[/List]
[right=50]
Выравнивание по правому краю каю
[/right]
[center=100]
Выравнивание по центру
[/center]
[left=50]
Выравнивание по левому каю
[/left]
[H3]Заголовок третьего уровня[/H3]
[H2]Заголовок второго уровня[/H2]
Результат:
CODE (
html ):
скопировать код в буфер обмена
<ul >
<li ><i class = "fad fa-circle" ></ i > Список</ li >
<li ><i class = "fad fa-circle" ></ i > Список</ li >
</ ul >
<br >
<div class = "p_right rl50" > Выравнивание по правому краю каю</ div >
<br >
<div class = "p_center rl100" > Выравнивание по центру</ div >
<br >
<div class = "p_left rl50" > Выравнивание по левому каю</ div >
<br >
<h3 > Заголовок третьего уровня</ h3 >
<br >
<h2 > Заголовок второго уровня</ h2 >
Gerb
Отправлено: 11 Октября, 2019 - 22:22:06 • Тема: Запретить выставлять пробел после • Форум: Вопросы новичков
Ответов: 18 Просмотров: 1210
PHP:
скопировать код в буфер обмена
$text = preg_replace ( [ "#^\r \n #" , '#^(?:\s|<br/>)+|(?:\s|<br/>)+$#' , '#\[List\](?>\s*\[\*\])*(.+?)(\[\*\]\s)*\[\/List\]#is' ,
'#\[\*\]#is' ,
"#\[h2\](.+?)\[\/h2\]#is" ,
"#\[h3\](.+?)\[\/h3\]#is" ,
"#\[QUOTE\](.+?)\[\/QUOTE\]#is" ,
"#\[left=([0-9]+)\](.+?)\[\/left\]#is" ,
"#\[right=([0-9]+)\](.+?)\[\/right\]#is" ,
"#\[center=([0-9]+)\](.+?)\[\/center\]#is" ,
"#\[size=([0-9]+)\](.+?)\[\/size\]#is" ,
'#(?<!(?:ul\>|li\>)\])\r\n#i' , '#\<br/>\s*\</li>#i' , '#\<br/>\s*\</div>#i' , '#"\>\s*\<br/>#i' , '#ul\>\s*\<br/>#i'
] , [
'' , '' ,
'<ul><li><i class=\"fad fa-circle\"></i>$1</li></ul>' ,
'</li><li><i class=\"fad fa-circle\"></i>' ,
"<h2>$1 </h2>" ,
"<h3>$1 </h3>" ,
"<blockquote><i class=\" fad fa-quote-left\" ></i>$1 <i class=\" fad fa-quote-right\" ></i></blockquote>" ,
"<div class=\" p_left rl$1 \" >$2 </div>" ,
"<div class=\" p_right rl$1 \" >$2 </div>" ,
"<div class=\" p_center rl$1 \" >$2 </div>" ,
"<span style=\" font-size:$1px ;\" >$2 </span>" ,
'<br/>' , '</li>' , '</div>' , '">' , 'ul>' ,
В данный момент у меня реализовано следующим образом. Мне это безобразие бы убрать
Приходится таким образом править перенос где его недолжно быть.
Нет бы сразу указать в
Что нет необходимости ставить тег перед определенными тегами и за определенными тегами.
Gerb
Отправлено: 10 Октября, 2019 - 18:12:06 • Тема: Запретить выставлять пробел после • Форум: Вопросы новичков
Ответов: 18 Просмотров: 1210
В тексте присутствуют теги перед которыми не нужно выставлять тег переноса строки, 2 условия работают, если добавить еще один. В таком случаи стирает текст полностью.
PHP:
скопировать код в буфер обмена
$text = preg_replace ( [ '#\[List\](?>\s*\[\*\])*(.+?)(\[\*\]\s)*\[\/List\]#is' , '#\[\*\]#is' ,
'#(?<!(?:ul\>|li\>)\])\r\n#i'
] , [
'<ul><li><i class=\"fad fa-circle\"></i>$1</li></ul>' ,
'</li><li><i class=\"fad fa-circle\"></i>' ,
'<br/>'
Работает, нет замены переноса строки перед тегами <ul> и <li>, необходимо добавить исключение для '<div>'.
Как составить такое правило на замену '#(?<!(?:ul\>|li\>)\])\r\n#i', которое будет выполнять замену переноса строки за исключением.
-Не менять перенос строки если перед переносом строки прописан тег <ul либо <li либо <div
-Точно также не выставлять перенос строки после тегов </ul> </li> и </div>
Gerb
Отправлено: 09 Октября, 2019 - 05:15:09 • Тема: Запретить выставлять пробел после • Форум: Вопросы новичков
Ответов: 18 Просмотров: 1210
Не понимаю, нет замены переноса строки после <ul> и <li>
Но если добавить третье условие после которого не нужно выставлять пробел, после <div>
Весь текст стирает, почему?
Gerb
Отправлено: 09 Октября, 2019 - 04:01:45 • Тема: Вытащить ссылку и текст ссылки • Форум: Вопросы новичков
Ответов: 3 Просмотров: 374
PHP:
скопировать код в буфер обмена
$text = "
<a href='/'>Текст</a>
<a href='/reviews/'>Текст</a>
<a href='https://site.ru/'>Мой сайт</a>
<a href='https://site.ru/'>https://site.ru/ssfd...</a>" ;
} , $text ) ;
Как верно составить регулярное выражение, чтобы вытащить адрес ссылки и текст?
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB