Any symbol to hex pattern, why ?

Discussion in 'PHP' started by beacon, Jul 6, 2009.

  1. #1
    how to quickly make hex pattern like "~\xe2\x80\xb9~" from any symbol ?

    i try brute force, but very long:
    $s = 'Â';
    $pat_all = '~[\x00-\xFF\x00-\xFF\x00-\xFF]~';
    //die('stop');
    if(!preg_match($pat_all,$s)) die("pat not found: ".$pat_all);
    $i=0;
    for($a=0;$a<256;$a++){
    	$az = '';
    	if($a<16) $az = '0';
    	
    	for($b=0;$b<256;$b++){
    		$bz = '';
    		if($b<16) $bz = '0';
    		
    		for($c=0;$c<256;$c++){
    			$cz = '';
    			if($c<16) $cz = '0';
    			$pat = '~\x'.$az.dechex($a).'\x'.$bz.dechex($b).'\x'.$cz.dechex($c).'~';
    			if(preg_match($pat,$s))die('found pat: '.$pat);
    			//echo "\n<br>".$pat;
    			if($i++==1000000) die('limit: '.$i);
    			}
    		//die;
    		}
    	}
    die('end: '.$i.' pat: '.$pat);
    Code (markup):

     
    beacon, Jul 6, 2009 IP