ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

10.01.2009, 13:07
|
|
Новичок
Регистрация: 07.09.2008
Сообщений: 26
Провел на форуме: 430982
Репутация:
26
|
|
Сообщение от Дикс
но он обрабатывает самый первый и самый последний теги - второй и третий игнорируются.. что не так? точнее как указать правильно, чтобы он обработал все по очереди?
попрбуй так
Код:
<?
$string = "пост [q]ЫЫЫ-<>Ы12Ы[/q] длинный пост [q]ЫЫЫ323ЫЫ[/q] длинный [q]ЫЫЫ34ЫЫ[/q] пост пост [q]ЫЫЫЫЫ2[/q]длинный пост ";
$pattern = "/\[q\](.*?)\[\/q\]/i";
$replacement = "<b>\${1}</b>";
echo $string.'<br />';
echo preg_replace($pattern, $replacement, $string);
Последний раз редактировалось _evgeniy_; 10.01.2009 в 15:56..
|
|
|

10.01.2009, 14:11
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Дикс,
PHP код:
$original = '/\[q\](.*)\[\/q\]/i';
$pattern1 = '-\[q\](.*?)\[/q\]-i';
// ^
$pattern2 = '-\[q\](.*)\[/q\]-Ui';
// ^
|
|
|

09.01.2009, 23:07
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
PHP код:
<?
$string = "пост длинный пост [q]ЫЫЫЫЫ[/q] длинный пост пост [q]ЫЫЫЫЫ2[/q]длинный пост ";
$pattern[0] = "/\[q\]/";
$replacement[0] = "<b>";
$pattern[1] = "/\[\/q\]/";
$replacement[1] = "</b>";
echo $string.'<br />';
echo preg_replace($pattern, $replacement, $string);
Последний раз редактировалось Pashkela; 09.01.2009 в 23:21..
|
|
|

10.01.2009, 09:24
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
Pashkela
эт я знаю. но если в сообщении будут незакрытые теги [q] - там появятся и незакрытые теги <b> и весь последующий текст будет жирным! надо перебрать все комбинации.
я помню блин как я делал это вроде в одну строку..
или может надо сначала выдрать все вхождения preg_matchem? а потом уже их заменять..
|
|
|

10.01.2009, 11:58
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
но если в сообщении будут незакрытые теги [q]
вот это да...тогда не знаю
|
|
|

10.01.2009, 14:30
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме: 5885100
Репутация:
773
|
|
Pashkela эт я знаю. но если в сообщении будут незакрытые теги [q] - там появятся и незакрытые теги <b> и весь последующий текст будет жирным! надо перебрать все комбинации. я помню блин как я делал это вроде в одну строку.. или может надо сначала выдрать все вхождения preg_matchem? а потом уже их заменять..
dei (12:26:46 10/01/2009)
<?php
$string = "пост [q]ЫЫЫ-<>Ы12Ы[/q] длинный пост [q]ЫЫЫ323ЫЫ[/q] длинный [q]ЫЫЫ34ЫЫ[/q] пост пост [q]ЫЫЫЫЫ2[/q]длинный пост [q] 1adasdsadas [q] sadasdasd[/q] sad";
echo $string.'<br />'."\n";
echo preg_replace('|\[q\]([^\[]*?)\[/q\]|', '<b>$1</b>', $string);
?>
а оставшиеся теги можно выловить стр_реплейсом
Den (12:26:46 10/01/2009)
отправил ))
Последний раз редактировалось Zitt; 10.01.2009 в 14:35..
|
|
|

10.01.2009, 15:07
|
|
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме: 1510937
Репутация:
398
|
|
работа с ссылками <http>
PHP код:
<?php
$url = "http://site/script.php";
preg_match('~^(http://)?([^/?#]+)(/[^?#]*)?(\?[^#]*)?(#.*)?$~i', $url, $matches);
echo "Full path: ".$matches[0]."<br />"; // http://site/script.php
echo "Protocol: ".$matches[1]."<br />"; // http://
echo "Domain: ".$matches[2]."<br />"; // site
echo "Script: ".$matches[3]."<br />"; // /script.php
?>
Последний раз редактировалось PandoraBox; 10.01.2009 в 15:15..
|
|
|

10.01.2009, 15:16
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
Провел на форуме: 4832771
Репутация:
1916
|
|
и зачем? Когда есть ф-ция parse_url(), которая делает тоже самое...
|
|
|

10.01.2009, 16:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Zitt Ваша регулярка поперхнется, если в тексте будут вложенные тэги [q] или даже просто [
PHP код:
$string = "пост [q]ЫЫЫ-[q]<>[/qwwe][Ы12Ы[/q][/q] длинный пост [q]ЫЫЫ323ЫЫ[/q] длинный [q]ЫЫЫ34ЫЫ[/q] пост пост [q]ЫЫЫЫЫ2[/q]длинный пост [q] 1adasdsadas [q] sadasdasd[/q] sad";
echo $string.'<br />'."\n";
echo preg_replace(
array('~\[q\]((?!\[/?q\])|[\s\S]*?)\[/q\]~i',
'~\[/?q\]~i'),
array('<b>$1</b>'
,''), $string);
Плюс - тут удаляются все лишние [q] и [/q]
|
|
|

11.01.2009, 04:21
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Почиму не работает такой выражение?
PHP код:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]+)/$ index.php?page=$1
Я хочу,чтобы при обращении mysite.ru/admin открывалось index.php?page=admin
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|