3v4l.org

run code in 300+ PHP versions simultaneously
<?php define( 'ACCENT_MAP', [ "A" => "[AАĂǍĄÀÃÁÆÂÅǺĀא]", "B" => "[BБבÞ]", "C" => "[CĈĆÇЦצĊČץ]", "D" => "[DДĎĐדÐ]", "E" => "[EÈĘÉËÊЕĒĖĚĔЄƏע]", "F" => "[FФƑ]", "G" => "[GĞĠĢĜГגҐ]", "H" => "[HחĦХĤה]", "I" => "[IIÏÎÍÌĮĬIИĨǏיЇĪІ]", "J" => "[JЙĴ]", "K" => "[KĸכĶКך]", "L" => "[LŁĿЛĻĹĽל]", "M" => "[MמМם]", "N" => "[NÑŃНŅןŊנʼnŇ]", "O" => "[OØÓÒÔÕОŐŎŌǾǑƠ]", "P" => "[PפףП]", "Q" => "[Qק]", "R" => "[RŔŘŖרР]", "S" => "[SŞŚȘŠСŜס]", "T" => "[TТȚטŦתŤŢ]", "U" => "[UÙÛÚŪУŨƯǓŲŬŮŰǕǛǙǗ]", "V" => "[VВו]", "Y" => "[YÝЫŶŸ]", "Z" => "(?:Z|ŹŽŻЗז", "a" => "[aаăǎąàãáæâåǻāא]", "b" => "[bбבþ]", "c" => "[cĉćçцצċčץ]", "ch" => "(?:ch|ч)", "d" => "[dдďđדð]", "e" => "[eèęéëêеēėěĕєəע]", "f" => "[fфƒ]", "g" => "[gğġģĝгגґ]", "h" => "[hחħхĥה]", "i" => "[iiïîíìįĭıиĩǐיїīі]", "j" => "[jйĵ]", "k" => "[kĸכķкך]", "l" => "[lłŀлļĺľל]", "m" => "[mמмם]", "n" => "[nñńнņןŋנʼnň]", "o" => "[oøóòôõоőŏōǿǒơ]", "p" => "[pפףп]", "q" => "[qק]", "r" => "[rŕřŗרр]", "s" => "[sşśșšсŝס]", "t" => "[tтțטŧתťţ]", "u" => "[uùûúūуũưǔųŭůűǖǜǚǘ]", "v" => "[vвו]", "y" => "[yýыŷÿ]", "z" => "[zźžżзזſ]", "ae" => "(?:ae|[ÄǼäæǽ])", "ch" => "(?:ch|[Чч])", "ij" => "(?:ij|[ijIJ])", "ja" => "(?:ja|[яЯ])", "je" => "(?:je|[Ээ])", "jo" => "(?:jo|[ёЁ])", "ju" => "(?:ju|[юЮ])", "oe" => "(?:oe|[œŒöÖ])", "sch" => "(?:sch|[щЩ])", "sh" => "(?:sh|[шШ])", "ss" => "(?:ss|[ß])", "ue" => "(?:ue|[Ü)", "zh" => "(?:zh|[Жж])" ]); function highlightTerm($text, $keyword) { $regex = implode( '|', array_map( fn($w) => strtr(preg_quote($w), ACCENT_MAP), explode(" ", $keyword) ) ); return preg_replace( "#$regex#ui", '<span style="background:yellow;">$0</span>', $text ); } echo highlightTerm("Would you like a café, Mister Kàpêk?", "kape caf");
Output for git.master, git.master_jit, rfc.property-hooks
Would you like a <span style="background:yellow;">caf</span>é, Mister <span style="background:yellow;">Kàpê</span>k?

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
28.64 ms | 405 KiB | 5 Q