PHP Doku:: Returns current encoding for multibyte regex as string - function.mb-regex-encoding.html

Verlauf / Chronik / History: (26) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzUnterstützung menschlicher Sprache und ZeichenkodierungMultibyte StringMultibyte String Funktionenmb_regex_encoding

Ein Service von Reinhard Neidl - Webprogrammierung.

Multibyte String Funktionen

<<mb_preferred_mime_name

mb_regex_set_options>>

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5)

mb_regex_encodingReturns current encoding for multibyte regex as string

Beschreibung

mixed mb_regex_encoding ([ string $encoding ] )

Returns the current encoding for a multibyte regex as a string.

Parameter-Liste

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird das interne Zeichenencoding genutzt.

Rückgabewerte

Returns the character encoding used by multibyte regex functions.

Siehe auch


4 BenutzerBeiträge:
- Beiträge aktualisieren...
php dot net at phor dot net
31.08.2010 22:40
Beware, mb_regex_encoding does not support the same set of encodings as listed in mb_list_encodings.php

Example:

<?php
mb_internal_encoding
('CP936');
mb_regex_encoding('CP936'); # this line produces an error
 
?>
Anonymous
28.06.2009 19:07
To change algo the regex_encodign
<?php
echo "current mb_internal_encoding: ".mb_internal_encoding()."<br />";
echo
"changing mb_internal_encoding to UTF-8<br />";
mb_internal_encoding("UTF-8");
echo
"new mb_internal_encoding: ".mb_internal_encoding()."<br />";

echo
"current mb_regex_encoding: ".mb_regex_encoding()."<br />";
echo
"changing mb_regex_encoding to UTF-8<br />";
mb_regex_encoding('UTF-8');
echo
"new mb_regex_encoding: ".mb_regex_encoding()."<br />";
?>
zl at zl dot hu
29.05.2009 15:05
Return values vary in setting and getting:

<?php
 
echo mb_regex_encoding();
 
// returns encoding name as a string
?>

<?php
 
echo mb_regex_encoding("UTF-8");
 
// returns true (success) of false as a boolean
?>
/me
2.02.2008 15:30
Note, that the regex encoding is only set to the initial internal character encoding. If you change the internal encoding in your script with mb_internal_encoding() the regex encoding does not change. For example:

<?php
echo "current mb_internal_encoding: ".mb_internal_encoding()."<br />";
echo
"current mb_regex_encoding: ".mb_regex_encoding()."<br />";
echo
"changing mb_internal_encoding to UTF-8<br />";
mb_internal_encoding("UTF-8");
echo
"new mb_internal_encoding: ".mb_internal_encoding()."<br />";
echo
"new mb_regex_encoding: ".mb_regex_encoding()."<br />";
?>

This code might output (depending on your initial internal character encoding):

current mb_internal_encoding: ISO-8859-1
current mb_regex_encoding: ISO-8859-1
changing mb_internal_encoding to UTF-8
new mb_internal_encoding: UTF-8
new mb_regex_encoding: ISO-8859-1

Furthermore the sentence "The default value is the internal character encoding." in the documentation might be misleading because the initial default value of the regex encoding is meant, and not the default value for the optional encoding parameter.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)