Возможно, эта проблема не может быть решена, как я хочу, но, возможно, вы можете помочь мне, ребята.Правила регулярного выражения в массиве
У меня много искаженных слов от имени моих продуктов.
Некоторые из них имеют ведущие и ведомые (
)
или, возможно, один из них, то же самое для /
и "
знаков.
Что я делаю, так это то, что я взорвую имя продукта по пробелам и исследую эти слова.
Поэтому я хочу заменить их на ничего. Но жесткий диск может быть 40GB ATA 3.5" hard drive
. Мне нужно обработать все слова, но я не могу использовать тот же метод для 3.5"
, как и для ()
или //
, потому что этот 3.5"
действителен.
Поэтому мне нужно только заменить кавычки, когда она находится в начале строки И в конце строки.
$cases = [
'(testone)',
'(testtwo',
'testthree)',
'/otherone/',
'/othertwo',
'otherthree/',
'"anotherone',
'anothertwo"',
'"anotherthree"',
];
$patterns = [
'/^\(/',
'/\)$/',
'~^/~',
'~/$~',
//Here is what I can not imagine, how to add the rule for `"`
];
$result = preg_replace($patterns, '', $cases);
Это хорошо работает, но это может быть сделано в одном regex_replace()
? Если да, кто-то может помочь мне в шаблонах (-ах) для цитат?
Результат для котировок должен быть таким:
'"anotherone', //no quote at end leave the leading
'anothertwo"', //no quote at start leave the trailin
'anotherthree', //there are quotes on start and end so remove them.
Означает ли это, что вам нужно 2 регэкспы - 1) для начального '» 'если строка заканчивается символом' '' '' '/^"(?=.*"$)/ s'' и 2) для завершающего' '', если первый был '' '(никакой способ для текущего подход)? –
@ WiktorStribiżew Цитаты могут быть заменены только в том случае, если первым символом является символ '' 'и последний символ' '' quote тоже, и shold заменить только эти 2 кавычки. – vaso123