Funkcia wp_list_pages() vo Wodpresse slúži na vypísanie zoznamu stránok, podľa zadaných parametrov. Vypisuje ich ako nezotriedený zoznam liniek. V dnešnom článku Vám ukážem ako sa dá tento výstup modifikovať pomocou PHP funkcie preg_match_all().
Ukážem vám ako vypísať názvy stránok veľkými písmenami. Pravda, môžete priamo zadať názvy stránok veľkými písmenami, ale ja som chcel použiť veľké písmená len v menu.
Základom je zadať funkcii wp_list_pages parameter echo=1, aby namiesto vypísania výstupu vrátila reťazec, ktorý sa má vypísať. Ďalej stačí pomocou preg_match_all() nájsť v reťazci to čo poterbujeme a následne zmeniť všetky znaky na veľké pomocou PHP funckie mb_strtoupper().
<?
/* uloženie zoznamu stránok do reťazca */
$str = wp_list_pages('echo=0');
/* všetky názvy sa nám vrátane uložia do poľa $a[1] */
preg_match_all('|>([^>]*)</a>|s', $str, $a);
/* na na každý nájdený reťazec aplikujeme mb_strtoupper() a pomocou
* str_replace() ho nahradíme v zozname stránok */
foreach($a[1] as $t) {
$str = str_replace($t, mb_strtoupper($t), $str);
}
/* a na záver už len vypíšeme modifikovaný reťazec */
echo $str;
?>
Iný príklad použitia preg_match_all() môžete vidieť pri vytváraní liniek v texte.
Pridaj komentár