quotemeta în PHP

Pune o bară inversă înaintea caracterelor . \ + * ? [ ^ ] $ ( ).

Sintaxă
quotemeta(string $string): string

Ce face quotemeta

quotemeta protejează caracterele . \ + * ? [ ^ ] $ ( ) punând \ în fața lor. Este o funcție veche, din vremea expresiilor regulate POSIX.

Pentru expresiile regulate preg_ folosește preg_quote, care protejează și alte caractere speciale și delimitatorul.

Parametri

Parametru Descriere
$string Textul prelucrat.

Ce returnează

Textul cu barele inverse adăugate.

Exemple

Exemplul 1: quotemeta comparat cu preg_quote

<?php
$text = "Total (cu TVA): 1+1=2? $5 / {x}";

echo quotemeta($text) . "\n";
echo preg_quote($text, "/");

Rezultat

Total \(cu TVA\): 1\+1=2\? \$5 / {x}
Total \(cu TVA\)\: 1\+1\=2\? \$5 \/ \{x\}

Greșeli frecvente

  • Folosești quotemeta pentru preg_match. Nu protejează { } = ! < > | : - # /; folosește preg_quote.

Comenzi înrudite

  • preg_quote: Pune o bară inversă înaintea caracterelor speciale, ca un text să poată fi folosit în siguranță într-o expresie regulată.
  • addcslashes / stripcslashes: Pune bare inverse în stilul limbajului C înaintea caracterelor alese; stripcslashes le interpretează înapoi.