[Exam Problems] PHP Basics - Sample Exam - Problem {02} - Email Censorship
Здравейте колеги!
Опитвам се да реша горепосочената задача, но успявам да я докарам само до 90/100. Гърми ми 7ми тест, който съм закоментирал за debugging цели. Проблема е, че при този тест трябва да филтрирам мейли завършващи на .k, но има мейл, който завършва на '.kk'. Алгоритъма ми не смята, че този имейл не трябва да се филтрира защото очаква само '.k', не '.kk'. Някой ще може ли да бутне едно рамо в регулярния израз, че не са ми от най-силните.
Ето го КОДА, за да дебъгвате просто закоментирайте 2,3,4 ред и разкоментирайте 6,7.
Благодаря на всеки отзовал се!
Да се опиташ да match-ваш всичко без дадено нещо, че да можеш да го "изтръгнеш" в output string-а е безсмислено. По-скоро аз лично бих използвал replace, че да заменя id="header" с празен низ.
/(.+?)\s*id\=\"header\"(\s*.+)/
Обаче тва хваща 2 групи и после ще трябва да си ги залепиш в 1 стринг.
Друг вариянт без regex ~
<?php
$string = '<div align="left" id="header" style="color:blue">';
$string = str_replace(' id="header"', '', $string);
echo $string;
$string2 = '<div id="header" style="color:blue">';
$string2 = str_replace(' id="header"', '', $string2);
echo $string2;
?>
Знам за replace и как би станало с 2 групи , но исках да разбера дали и как може да стане и с една . Благодаря все пак :) )