| 
<?php
 header("Content-Type: text/html; charset=utf-8");
 
 require("./java_datatypes.php");
 
 $locale = new Locale(Locale::POLISH);
 
 $s1 = new String("wołowina");
 $s2 = new String("wól");
 $s3 = new String("wół");
 $s4 = new String("wołowina");
 
 
 echo "<pre><strong>String comparison:</strong><br />";
 echo ($s1." ".($s1->compareTo($s2) > 0 ? 'is after' : 'is before')." ".$s2);
 echo "<br />";
 
 echo ($s2." ".($s2->compareTo($s3) > 0 ? 'is after' : 'is before')." ".$s3);
 echo "<br />";
 
 echo ($s3." ".($s3->compareTo($s1) > 0 ? 'is after' : 'is before')." ".$s1);
 echo "<br />";
 
 echo $s4->toUpperCase().' is '.($s4->toUpperCase()->compareTo($s1->toUpperCase()) == 0 ? 'equal' : 'not equal').' to '.$s1->toUpperCase();
 echo "<br />";
 
 echo $s4.' is '.($s4->compareToIgnoreCase($s1->toUpperCase()) == 0 ? 'equal' : 'not equal').' to '.$s1->toUpperCase().' (compareToIgnoreCase)';
 //-----------------------------------------------------------
 echo "<hr/>";
 echo "<strong>String validation:</strong><br />";
 
 $s5 = chr(0x81)."łąka";
 $valid = String::isValid($s5);
 echo "$s5 is a".($valid === 0 ? 'n invalid UTF-8' : ($valid === 1 ? ' pure ASCII (valid UTF-8)' : ' valid UTF-8'))." string";
 echo "<br />";
 
 $s5 = "łąka";
 $valid = String::isValid($s5);
 echo "$s5 is a".($valid === 0 ? 'n valid UTF-8' : ($valid === 1 ? ' pure ASCII (valid UTF-8)' : ' valid UTF-8'))." string";
 echo "<br />";
 
 $s5 = "laka";
 $valid = String::isValid($s5);
 echo "$s5 is a".($valid === 0 ? 'n valid UTF-8' : ($valid === 1 ? ' pure ASCII (valid UTF-8)' : ' valid UTF-8'))." string";
 
 //-----------------------------------------------------------
 echo "<hr/>";
 echo "<strong>String char-by-char iteration:</strong><br />";
 
 echo "char-by-char 'for' loop in reverse order: <br />  ";
 for($i = $s1->length()-1; $i >= 0; $i--) {
 echo $s1[$i];
 }
 
 echo " (original message $s1)";
 echo "<br />";
 
 echo "char-by-char 'for' loop in reverse order with mixed case: <br />  ";
 for($i = $s1->length()-1; $i >= 0; $i--) {
 if($i%2) {
 echo $s1[$i];
 } else {
 echo $s1[$i]->toUpperCase();
 }
 }
 
 echo " (original message $s1)";
 echo "<br />";
 
 //-----------------------------------------------------------
 echo "<hr/>";
 echo "<strong>String manipulation:</strong><br />";
 
 echo "length of $s1 is ".$s1->length();
 echo "<br />";
 
 echo "the third char of $s1 is ".$s1->charAt(2);
 echo "<br />";
 
 echo "the sixth char of $s1 is ".$s1->charAt(5);
 echo "<br />";
 
 echo "$s1 padded right to 10 chars (not bytes!) is ".$s1->padRight(10, "_");
 echo "<br />";
 
 echo "$s1 uppercased is ".$s1->toUpperCase();
 echo "<br />";
 
 echo "$s1 replaced ('w' => 'W') is ".$s1->replaceAll('w', 'W');
 echo "<br />";
 
 echo "$s1 replaced ('[n-z]' => '*') is ".$s1->replaceAll('[n-z]', '*');
 echo "<br />";
 
 echo "$s1 starts with 'woł'? ". ($s1->startsWith('woł') ? 'true' : 'false');
 echo "<br />";
 
 echo "$s1 starts at index 3 with 'owi'? ". ($s1->startsWith('owi', 3) ? 'true' : 'false');
 echo "<br />";
 
 echo "$s1 ends with 'ina'? ". ($s1->endsWith('ina') ? 'true' : 'false');
 echo "<br />";
 
 echo "the index of 'i' character is equal ".$s1->indexOf('i');
 //-----------------------------------------------------------
 echo "<hr/>";
 echo "<strong>String matching (java patterns):</string><br />";
 $p = Pattern::compile("a*b");
 $m = $p->matcher("aaaaab");
 $b = $m->matches();
 echo "pattern ".$p->pattern()." matching result: ".(int) $b;
 echo "</pre>";
 
 ?>
 
 |