سؤال

وايم القيام تحليل وهذا النوع من النصوص التي أريد لمطابقة ومن ثم جعلها باطلة كما يلي: -

<tr class="label-BGC"><td colspan="4">any kind of text here</td></tr> 

وأريد أن تطابق كل سطر يحتوي على "<tr class="label-BGC"><td colspan="4">any text</td></tr>"

والمساء لها هنا، وذهني-البطارية تماما أسفل

وما ايم تحاول القيام به هو: -

$patterns='<td colspan="4">'.stristr($parsed,'[^a-z0-9_- $]').'</td></tr>';
$replacements=' ';
$parsed = str_replace($patterns, $replacements, $parsed);

و$ تحليل وتحتوي على البيانات كله أن ايم تحليل.

قانون بلدي لا يعمل أي شخص يمكن أن تساعدني مع بعض الاقتراحات هنا!

هل كانت مفيدة؟

المحلول

وحاول شيئا بسيطا مثل هذا:

$parsed = preg_replace('{<tr class="label-BGC"><td colspan="4">.*?</td></tr>}', 
                      $replacements, $parsed);

وو. مباريات أي حرف، و* يجعل من تطابق 0 كثير، و؟ توقف كونها -i.e. الجشع وسوف تتوقف في التسلسل الأول، وليس الماضي ممكن واحد.

نصائح أخرى

وحاول القيام بما يلي:

preg_replace("`\s*<tr\s+class\s*=\s*"label-BGC"\s*>\s*<td\s+colspan\s*=\s*"4"\s*>.*?</td\s*>\s*</tr\s*>\s*`i", "", $content);

وربما تكون جميع مطابقة \s قليلا مبالغة، لكنه متسامح جدا إذا كان هذا الدخل يأتي من مستخدم.

وعلى خلاف ذلك، ربما يمكنك فقط الحصول على التخلص من

preg_replace("`<tr class="label-BGC"><td colspan="4">.*?</td></tr>`i", "", $content);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top