Une variable php contient la chaîne suivante:
<p>text</p>
<p>text2</p>
<ul>
<li>item1</li>
<li>item2</li>
</ul>
Je veux supprimer tous les nouveaux caractères de ligne de cette chaîne pour que la chaîne ressemble à ceci:
<p>text</p><p>text2><ul><li>item1</li><li>item2</li></ul>
J'ai essayé ce qui suit sans succès:
str_replace('\n', '', $str);
str_replace('\r', '', $str);
str_replace('\r\n\', '', $str);
Quelqu'un sait comment résoudre ce problème?
Vous devez placer le \n
entre guillemets.
Dans les guillemets simples, il est traité comme 2 caractères '\'
suivi de 'n'
Vous avez besoin:
$str = str_replace("\n", '', $str);
Une meilleure alternative consiste à utiliser PHP_EOL
en tant que:
$str = str_replace(PHP_EOL, '', $str);
Vous devez insérer \n
ou \r
dans ""
et non pas ''
. Lors de l'utilisation de guillemets simples, les séquences d'échappement ne seront pas interprétées (à l'exception de \'
et \\
).
Si la chaîne est placée entre guillemets ("), PHP interprétera Plus de séquences d'échappement pour les caractères spéciaux:
\ n saut de ligne (LF ou 0x0A (10) en ASCII)
\ r retour chariot (CR ou 0x0D (13) en ASCII) \
(...)
Quelque chose d'un peu plus fonctionnel (facile à utiliser n'importe où):
function replace_carriage_return($replace, $string)
{
return str_replace(array("\n\r", "\n", "\r"), $replace, $string);
}
Utiliser PHP_EOL comme paramètre de remplacement de recherche est aussi une bonne idée! Gloire.
Cela devrait être comme
str_replace ("\ n", '', $ str); str_replace ("\ r", '', $ str); .__ str_replace ("\ r\n", '', $ str);
Pour supprimer les nouvelles lignes de la chaîne, suivez le code ci-dessous
$newstring = preg_replace("/[\n\r]/","",$subject);
Sortie correcte:
'{"data":[{"id":"1","reason":"hello\\nworld"},{"id":"2","reason":"it\\nworks"}]}'
function json_entities( $data = null )
{
//stripslashes
return str_replace( '\n',"\\"."\\n",
htmlentities(
utf8_encode( json_encode( $data) ) ,
ENT_QUOTES | ENT_IGNORE, 'UTF-8'
)
);
}
$no_newlines = str_replace("\r", '', str_replace("\n", '', $str_with_newlines));
Remplacer une chaîne:
$str = str_replace("\n", '', $str);
u utilisant également comme, (% n, % t, Tous les caractères spéciaux, chiffres, caractères, etc.)
ce qui signifie que tout ce que vous pouvez remplacer dans une chaîne.