Массив: фильтрация с помощью preg_replace и сортировка [PHP — WordPress] ⇐ Php
-
Anonymous
Массив: фильтрация с помощью preg_replace и сортировка [PHP — WordPress]
У меня есть список категорий, состоящий из нескольких повторяющихся (итальянских) слов, например:
[*]racconti sulla vita [*]страсти [*]ракоты о своих мыслях [*]мотивационные мотивации ...
Что мне нужно сделать, так это удалить из списка все повторяющиеся слова (racconti, sulla, di, sui, sul и т. д.), а затем упорядочить остальные от А до Я.
Результат действительно странный: общее количество категорий — 42, и я получаю первые 31 результат в правильном порядке (в данном случае от B до V). С 32-го пункта список начинается снова в правильном порядке (от А до S).
Это как если бы список был разделен на две части.
Это мой код:
$terms_tipologia = get_terms('tipologia', array('hide_empty' => true) ); Еогеасп ($terms_tipologia как $tipologia): $words = array("racconti", "sul", "sull'", "sulla", "sulle", "sullo", "sui", "di"); $pattern = '/\b(?:' . join('|', $words) . ')\b/i'; $term_name = preg_replace($pattern, '', $tipologia->name); $term_link = get_term_link($типология); $reorder[$term_link] = $term_name; эндфореас; сортировать ($ переупорядочить); foreach ($reorder as $link => $nome): echo '[*]' . $номе. ''; эндфореас;
У меня есть список категорий, состоящий из нескольких повторяющихся (итальянских) слов, например:
[*]racconti sulla vita [*]страсти [*]ракоты о своих мыслях [*]мотивационные мотивации ...
Что мне нужно сделать, так это удалить из списка все повторяющиеся слова (racconti, sulla, di, sui, sul и т. д.), а затем упорядочить остальные от А до Я.
Результат действительно странный: общее количество категорий — 42, и я получаю первые 31 результат в правильном порядке (в данном случае от B до V). С 32-го пункта список начинается снова в правильном порядке (от А до S).
Это как если бы список был разделен на две части.
Это мой код:
$terms_tipologia = get_terms('tipologia', array('hide_empty' => true) ); Еогеасп ($terms_tipologia как $tipologia): $words = array("racconti", "sul", "sull'", "sulla", "sulle", "sullo", "sui", "di"); $pattern = '/\b(?:' . join('|', $words) . ')\b/i'; $term_name = preg_replace($pattern, '', $tipologia->name); $term_link = get_term_link($типология); $reorder[$term_link] = $term_name; эндфореас; сортировать ($ переупорядочить); foreach ($reorder as $link => $nome): echo '[*]' . $номе. ''; эндфореас;
Мобильная версия