Программирование > PHP

Сортировка после preg_match_all

<< < (3/4) > >>

brainkiller:
Да вовсе не божественно: кабы не подавление ошибок перед оператором замены подстроки, Вас бы нотисами засыпало. :) Говорю же, причёсывать и причёсывать.

Смотрю, у Вас пробел вместо конца строки — надо полагать, пробелами разделены ссылки на тэги? А после последней ссылки пробел есть, или она не попадёт в $matches?

Сделайте print_r($tags) и посмотрите, что там: возможно регулярку снова переделать придётся.

Moe:
brainkiller

Нет, пробела в шаблоне нет, почему-то автоматом при посте здесь на форуме там оказывается пробел. При echo $onetag; теги выводятся впритык друг к другу, следовательно, насколько я понимаю, пробела между

Moe:
А при print_r ($matches); совсем запутано:

Array
(
)
Array
(
)
Array
(
    [0] => Array
        (
            [0] =><a href=\'link1\'>Сюжет — Тег1</a>
            [1] =>
            [2] =><a href=\'link1\'>Сюжет — Тег1</a>
)
)
Array (
    [0] => Array

            [0] =><a href=\'link3\'>Сюжет — Тег3</a>
            [1] =>
            [2] =><a href=\'link3\'>Сюжет — Тег3</a>
...  

brainkiller:

--- Цитировать ---А в моем случае:
--- Конец цитаты ---


Ну так это в корне меняет дело! Я из Вашей реплики не понял, признаться, что там каждый тэг в отдельном элементе.

Исправить это просто при помощи implode(), но лучше всё же

$tags = array(
"<a href=\'link1\'>Сюжет — Тег1</a>",
"<a href=\'link2\'>Источник — Тег2</a>",
"<a href=\'link3\'>Сюжет — Тег3</a>",
"<a href=\'link4\'>Текст — Тег4</a>",
"<a href=\'link5\'>Источник — Тег5</a>"
);

$str1 = "<h4>Текст</h4>"; $str2 = "<h4>Источник</h4>"; $str3 = "<h4>Сюжет</h4>";
$pat1 = \'Текст — \'; $pat2 = \'Источник — \'; $pat3 = \'Сюжет — \';
foreach($tags as $tag) {
if (strpos($tag, $pat1)) {
$str1 .= str_replace($pat1, \'\', $tag)." ";
}
if (strpos($tag, $pat2)) {
$str2 .= str_replace($pat2, \'\', $tag)." ";
}
if (strpos($tag, $pat3)) {
$str3 .= str_replace($pat3, \'\', $tag)." ";
}
}
echo $str1, $str2, $str3;


…и никаких регулярных выражений!

[OFF]А вопросы надо задавать максимально конкретно![/OFF]

Moe:
brainkiller

Теперь все работает должным образом, еще раз большое спасибо!

[OFF]Я настоящий профан в этом деле, но на будущее постараюсь учесть все нюансы и буду формулировать вопрос корректнее :) [/OFF]

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии