我有一个数据字符串,它包含3种不同的语言内容,包含在相应的标记中。
英文的/[langStart-en]
和//[langEnd-en]
阿拉伯语的/[langStart-ar]
和//[langEnd-ar]
法国的/[langStart-fr]
和//[langEnd-fr]
语言代码将作为参数通过url传递,比如for例如,如果语言是英语,url将是
article.php?lang = EN
,
用于阿拉伯语article.php?lang = AR
和
法国CCD_ 9。
我想检测语言并从字符串中删除其他语言的内容。
希望这是有意义的
对于模式匹配,您也可以使用
$pattern1 = '/'/'/'[langStart-en'].+'/'/'[langEnd-en']/';
str.replace也可以实现同样的效果。你应该使用
str.replace(/'/'/'[langStart-en'].+'/'/'[langEnd-en']/, '//[langStart-en]//[langEnd-en]');
只有当以上答案对没有帮助时,才应该尝试此操作
我有一个快速解决方案。请检查它是否有效。。您应该能够优化逻辑,但我希望这将帮助您使其发挥作用。
$pattern1 = '/'/'/'[langStart-en'][^n]*'/'/'[langEnd-en']/';
$pattern2 = '/'/'/'[langStart-ar'][^n]*'/'/'[langEnd-ar']/';
$pattern3 = '/'/'/'[langStart-fr'][^n]*'/'/'[langEnd-fr']/';
$lan= $_GET['lang'];
$replace= '';
$string = "whatever may be string";
if ($lan=='EN')
{
$string = preg_replace($pattern2, $replace, $string);
$string = preg_replace($pattern3, $replace, $string);
}
else if ($lan=='AR')
{
$string = preg_replace($pattern1, $replace, $string);
$string = preg_replace($pattern3, $replace, $string);
}
else if ($lan=='FR')
{
$string = preg_replace($pattern1, $replace, $string);
$string = preg_replace($pattern2, $replace, $string);
}
echo $string;
如果你发现任何问题,请检查并告诉我。