Удалить первый экземпляр ‘n’ вокруг строки

#php #regex

#php #регулярное выражение

Вопрос:

Привет, у меня следующая ситуация, когда у меня есть теги, обернутые вокруг моего содержимого и следующего ввода

 [hello]

Text here

[/hello]

[hello]

Text here 2

[/hello]
  

Вывод

 [hello]nnText herenn[/hello]nn[hello]nnText here 2nn[/hello]
  

Желаемый результат должен быть

 [hello]nText heren[/hello][hello]nText here 2n[/hello]
  

PS: Спасибо за ответ, но после его пользовательского ввода есть вероятность, что [hello] n

Есть ли способ, используя php, обрезать первый n вокруг открывающего тега ([hello]) и закрывающего тега ([/hello])? Спасибо

Комментарии:

1. Я обычно использую "n".trim($string)."n"

2. Я не понимаю. Пожалуйста, предоставьте желаемый результат.

3. Спасибо, Энн, но в этом случае он добавит n, даже если в выводе есть n

Ответ №1:

это просто, другими словами, вы хотите заменить nn на n

 $str = "[hello]nnText herenn[/hello]nn[hello]nnText here 2nn[/hello]";
echo str_replace("nn", "n", $str);
  

он выведет

 [hello]
Text here
[/hello]
[hello]
Text here 2
[/hello]
  

Ответ №2:

Это просто, попробуйте это:

 $str = "[hello]nnText herenn[/hello]nn[hello]nnText here 2nn[/hello]";
echo str_replace("[hello]n","[hello]", str_replace("n[/hello]","[/hello]",$str));
  

Комментарии:

1. Привет, если есть пробелы, например. [привет] n будет ли n по-прежнему удален?

2. Нет, если вы не уверены, включает ли он пробел или нет, попробуйте заменить nn на n