Replacing Unicode characters

From: Date: Fri, 04 Apr 2003 20:42:48 +0000
Subject: Replacing Unicode characters
Groups: php.general 
Request: Send a blank email to php-general+get-142433@lists.php.net to get a copy of this message
I'm working on an application where I need to replace some Unicode characters with a PHP shell script. The problem I'm having is matching multibyte characters. One character in particular is Unicode 2014 an m-dash '—' To get the decimal code to identify the character I've tried two methods, one was with a little script like this: <?php $x=0; while($letter = substr('—',$x,1)){ echo "$letter\t" . ord($letter) ."\n"; $x++; } ?> I took the multiple decimal codes returned and tried a replacement like: echo str_replace(chr(226).chr(128).chr(148),"-hyphen",$data); But that didn't match it I figured my method of finding the decimal value wasn't correct. Next I thought if I UTF-8 encoded the character and took the ord() and used that decimal to compare against a utf-encoded version of my string. but when I tried getting the ord() of all the characters I wanted to watch for it always gave me the same decimal, 195. So that idea wasn't going to work either. I'm out of ideas, any input would be appriciated. Thanks. -- Jeff Bearer, RHCE Webmaster, PittsburghLIVE.com

« previous php.general (#142433) next »