Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
TomyLeeBoy
#15699
üzenetére
Két probléma van:
1. sprintf()-et használsz, ami UTF-8-as karakterekre nem működik megfelelően
2. a regexpben az "u" modifiert kellene használnod:
http://php.net/manual/en/reference.pcre.pattern.modifiers.php
"u (PCRE_UTF8)
This modifier turns on additional functionality of PCRE that is incompatible with Perl. Pattern strings are treated as UTF-8. This modifier is available from PHP 4.1.0 or greater on Unix and from PHP 4.2.3 on win32. UTF-8 validity of the pattern is checked since PHP 4.3.5."Röviden a megoldás: a külön $pattern változó helyett a cikluson belül így nézzen ki a $regex változód, hogy egyből be is helyettesíted az értéket, így kikerülöd az sprintf() használatát:
$regex = '/(?!<.*?)('.$needle_s.')(?![^<>]*?>)/iu';
Így már működni fog. (Ugyanazt csinálja, mint a korábbi kódod, csak össze van fűzve a string a %s behelyettesítése helyett, és elláttam az u modifierrel (lásd a case insensitivity-t jelölő i modifier után).)
Még egy fontos dolog: a font tageket ma már nem használjuk (nagyon régóta deprecated), szóval azt cseréld le span-re, és ugyanúgy működni fog.

Új hozzászólás Aktív témák
- Mid tower gèp ház
- 2024-es Lenovo ThinkPad T14 Gen4 laptop, gyári garanciával, eredeti magyar billentyűzettel eladó!
- Makulátlan Iphone 13 Midnigth Black 128 GB 88% 2024.12.23-án vásárolt
- TESTRESZABHATÓ/GARIS/ Ryzen 5 5600/16GB DDR4/RX 6700 XT 12 GB/ 1 TB M.2 SSD/2 TB HDD
- ASUS ROG STRIX G16 Gamer laptop 16" -40% Raptor i9-14900HX 24Mag 16/1TB 240Hz RTX 4070 8GB QHD
- iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4475
- Apple iPhone 15 Pro 128GB,Újszerű,Dobozaval,12 hónap garanciával
- 194 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- HP EliteBook 840 G7 i5-10210U 16GB 256GB FHD 400nit 1 év garancia
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

