Autor Zpráva
Marek D.
Profil *
Čaute, prosím vás mám problém s týmto kódom
return preg_replace('item item-'.$cat->term_id, 'nahradenie', $output, 1);

Dočítal som sa, že by sa tam mali pridať nejaké lomítka, ale neviem kde. Ďakujem
DoubleThink
Profil *
PCRE regex syntax - delimiters
AM_
Profil
na začátek a konec výrazu. Nicméně tady žádný regulární výraz nemáš, takže používej str_replace.
Marek D.
Profil *
Vrelá vďaka, ale bohužiaľ som z toho anglického návodu trošku dosť mimo :/ Chybu odstránim takto, ale stále mi neberie to ID číslo, aj tak ho tam proste zapíše.
return preg_replace('/item tem-'.$cat->term_id.'/', 'nahradenie', $output, 1);
AM_
Profil
Viz můj příspěvek. Žádný regulární výraz nepoužíváš, tak jaký preg_replace? str_replace tam patří! (a ty lomítka tam tím pádem nebudou)
Marek D.
Profil *
Ďakujem AM_ ale potom mám len blank page a pritom mám zapnutú funkciu error reporting a aj mi vždy chyby napíše tak neviem kde je problém. Napíšem sem celú funkciu radšej.

Takže celá funkcia, ktorá ide, ale stále neberie ID číslo vyzerá takto

function add_markup_item($output) {
    return preg_replace('item item-'.$cat->term_id, 'nahradenie', $output, 1);
}
add_filter('item_list', 'add_mark_item');

Ďakujem za váš čas
Majkl578
Profil
Marek D.:
Ve funkci nemáš definovanou proměnnou $cat.
Použij funkci str_replace, ne preg_replace, to je kanón na komára.
Marek D.
Profil *
Našiel som tam ešte jednú chybu, že na konci mi chýba up pri markup, ale ani to mi nepomôže :D
No len ja potrebujem aby sa nahradili všetky čísla, teda či už 10, alebo 11 tak to mám ako definovať, dá sa to vôbec? Lebo som našiel len príklady pre konkrétne čísla a písmena. Dík ešte raz a majte so mnou prosím strpenie veď tu píšem len raz za čas :D
AM_
Profil
Majkl578:
Použij funkci str_replace, ne preg_replace, to je kanón na komára.
Už jsme ti to radili asi 3x a pořád vidím v kódu preg_replace. Nejen že preg_replace je dělo na komára, ale hlavně funguje úplně jinak, nemůžeš tam jen tak plácnout preg_replace místo str_replace žes to někde okoukal.
Pokud chceš nahrazovat libovolné číslo, vypadá výraz takhle:
return preg_replace('~item item-[0-9]+~', 'nahradenie', $output, 1);

Tam pak preg_replace patří. Jenže v $cat->term_id je nejspíš jedno konkrétní číslo, takže si rozmysli, jestli chceš nahrazovat všechny nebo $cat->term_id (která, jak píše Majkl, ani není v té funkci definovaná).
Navíc pochybuji, že v praxi nahrazuješ textem 'nahradenie', kdybys raději po pravdě uvedl, za co to replacuješ, třeba bychom snáze pochopili, o co se snažíš.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0