Autor | Zpráva | ||
---|---|---|---|
brdik Profil |
ahoj, zpracovávám nějaký text (HTML kod) pomocí php a vyskytuje se tam občas znak "& # 160;". Nemohu se ho zbavit a ukládá se mi do databáze jako prázdný řádek s mezerou. Snažil jsem se použít
$text=trim($text,"\xA0");, str_replace, preg_replace, nic nepomáhá. Poradí někdo, jak se toho znaku zbavit? |
||
Kaminko Profil |
#2 · Zasláno: 20. 6. 2013, 14:11:35
Ak sa nemýlim, tak by sa to malo zapísať nejak takto /" . Ak sa mýlim, tak sa ospravedlňujem a opravte ma.
|
||
brdik Profil |
#3 · Zasláno: 21. 6. 2013, 12:35:47
našel jsem řešení
$myHTML = " abc"; $converted = strtr($myHTML, array_flip(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES))); // this WILL NOT work as expected // $converted will still appear as " abc" in view source // (but not in od -x) $converted = trim($converted); // are translated to 0xA0, so use: $converted = trim($converted, "\xA0"); // <- THIS DOES NOT WORK // EDITED>> // UTF encodes it as chr(0xC2).chr(0xA0) $converted = trim($converted,chr(0xC2).chr(0xA0)); // should work |
||
honzaik Profil |
#4 · Zasláno: 22. 6. 2013, 00:31:19
myslim že to je kvůli windowsum :D na unixu by ti to mělo fungovat myslim. jen takovej dodatek
|
||
Časová prodleva: 5 měsíců
|
|||
nethor Profil |
#5 · Zasláno: 7. 11. 2013, 14:14:58
Právě jsem řešil stejný problém stejný problém.
Funguje: mb_internal_encoding("UTF-8"); mb_regex_encoding("UTF-8"); $text = Trim(preg_replace("~[\s|\xC2|\xA0]+~"," ",$text)); |
||
Časová prodleva: 11 let
|
0