PageRenderTime 51ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/hphp/test/slow/ext_string/ext_string.php

http://github.com/facebook/hiphop-php
PHP | 460 lines | 445 code | 14 blank | 1 comment | 0 complexity | 16d9c7f299f5ec2ce2a77b13ea7d4806 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
  1. <?hh
  2. //////////////////////////////////////////////////////////////////////
  3. <<__EntryPoint>>
  4. function main_ext_string() {
  5. var_dump(addcslashes("ABCDEFGH\n", "A..D\n"));
  6. var_dump(stripcslashes("\\A\\B\\C\\DEFGH\\n"));
  7. var_dump(addslashes("'\"\\\n"));
  8. var_dump(stripslashes("\\'\\\"\\\\\n"));
  9. var_dump(bin2hex("ABC\n"));
  10. var_dump(hex2bin("4142430a"));
  11. var_dump(nl2br("A\nB"));
  12. var_dump(quotemeta(". \\ + * ? [ ^ ] ( $ )"));
  13. var_dump(strlen(str_shuffle("ABC")));
  14. var_dump(strrev("ABC"));
  15. var_dump(strtolower("ABC"));
  16. var_dump(strtoupper("abc"));
  17. var_dump(ucfirst("abc"));
  18. var_dump(lcfirst("ABC"));
  19. var_dump(ucwords("abc def"));
  20. var_dump(ucwords("abc def", ""));
  21. var_dump(ucwords("abc\xa0d\xa1e\xa2f", "\xa0\xa2"));
  22. $text = "<p>Test paragraph.</p><!-- Comment --> ".
  23. "<a href=\"#fragment\">Other text</a>";
  24. var_dump(strip_tags($text));
  25. var_dump(strip_tags($text, "<p><a>"));
  26. var_dump(trim(" abc "));
  27. var_dump(ltrim(" abc "));
  28. var_dump(rtrim(" abc "));
  29. var_dump(chop(" abc "));
  30. {
  31. $metric = "create stuff";
  32. $pieces = explode(" ", $metric, 1);
  33. var_dump(count($pieces));
  34. var_dump($pieces[0]);
  35. }
  36. {
  37. $metric = "create stuff";
  38. $pieces = explode(" ", $metric, 0);
  39. var_dump(count($pieces));
  40. var_dump($pieces[0]);
  41. }
  42. {
  43. $pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
  44. $pieces = explode(" ", $pizza);
  45. var_dump($pieces[0]);
  46. var_dump($pieces[1]);
  47. }
  48. {
  49. $str = "one|two|three|four";
  50. $ret = explode("|", $str, 2);
  51. var_dump(count($ret));
  52. var_dump($ret[0]);
  53. var_dump($ret[1]);
  54. }
  55. {
  56. $str = "one|two|three|four";
  57. $ret = explode("|", $str, -1);
  58. var_dump(count($ret));
  59. var_dump($ret[0]);
  60. var_dump($ret[1]);
  61. var_dump($ret[2]);
  62. }
  63. {
  64. $str = "ab";
  65. $ret = explode("b", $str);
  66. var_dump($ret[0]);
  67. var_dump($ret[1]);
  68. }
  69. {
  70. $str = "b";
  71. $ret = explode("b", $str);
  72. var_dump($ret[0]);
  73. var_dump($ret[1]);
  74. }
  75. {
  76. $str = "bb";
  77. $ret = explode("b", $str);
  78. var_dump($ret[0]);
  79. var_dump($ret[1]);
  80. var_dump($ret[2]);
  81. }
  82. {
  83. $str = "";
  84. $ret = explode("b", $str);
  85. var_dump($ret[0]);
  86. }
  87. {
  88. $arr = varray["lastname", "email", "phone"];
  89. var_dump(implode(",", $arr));
  90. }
  91. {
  92. $arr = varray["lastname", "", "phone"];
  93. var_dump(implode(",", $arr));
  94. }
  95. {
  96. $arr = varray["", "email", "phone"];
  97. var_dump(implode(",", $arr));
  98. }
  99. {
  100. $arr = varray["", "", ""];
  101. var_dump(implode(",", $arr));
  102. }
  103. {
  104. $arr = varray[];
  105. var_dump(implode(",", $arr));
  106. }
  107. $arr = varray["lastname", "email", "phone"];
  108. var_dump(join(",", $arr));
  109. $str = "Hello Friend";
  110. $arr1 = str_split($str);
  111. var_dump(count($arr1));
  112. var_dump($arr1[0]);
  113. var_dump($arr1[1]);
  114. $arr2 = str_split($str, 3);
  115. var_dump(count($arr2) == 4);
  116. var_dump($arr2[0]);
  117. var_dump($arr2[1]);
  118. $ret = chunk_split("ABCD", 2);
  119. var_dump($ret, "AB\r\nCD\r\n");
  120. $s = "This is\tan ";
  121. $tok = strtok($s, " \n\t"); $tokens = varray[];
  122. while ($tok) {
  123. $tokens[] = $tok;
  124. $tok = strtok(" \n\t");
  125. }
  126. var_dump($tokens);
  127. {
  128. var_dump(str_replace("%body%", "black", "<body text='%body%'>"));
  129. }
  130. {
  131. $vowels = varray[]; $vowels[] = "a";
  132. $vowels[] = "e";
  133. $vowels[] = "i";
  134. $vowels[] = "o";
  135. $vowels[] = "u";
  136. $vowels[] = "A";
  137. $vowels[] = "E";
  138. $vowels[] = "I";
  139. $vowels[] = "O";
  140. $vowels[] = "U";
  141. var_dump(str_replace($vowels, "", "Hello World of PHP"));
  142. }
  143. {
  144. $phrase = "You should eat fruits, vegetables, and fiber every day.";
  145. $healthy = varray["fruits", "vegetables", "fiber"];
  146. $yummy = varray["pizza", "beer", "ice cream"];
  147. var_dump(str_replace($healthy, $yummy, $phrase));
  148. }
  149. {
  150. $count = 0;
  151. $s = str_replace_with_count("ll", "", "good golly miss molly!", inout $count);
  152. var_dump($count);
  153. }
  154. {
  155. $letters = varray["a", "p"];
  156. $fruit = varray["apple", "pear"];
  157. $text = "a p";
  158. var_dump(str_replace($letters, $fruit, $text));
  159. }
  160. var_dump(str_ireplace("%body%", "black", "<body text='%BODY%'>"));
  161. var_dump(str_ireplace("%body%", "Black", "<body Text='%BODY%'>"));
  162. $var = "ABCDEFGH:/MNRPQR/";
  163. var_dump(substr_replace($var, "bob", 0));
  164. var_dump(substr_replace($var, "bob", 0, strlen($var)));
  165. var_dump(substr_replace($var, "bob", 0, 0));
  166. var_dump(substr_replace($var, "bob", 10, -1));
  167. var_dump(substr_replace($var, "bob", -7, -1));
  168. var_dump(substr_replace($var, "", 10, -1));
  169. var_dump(substr("abcdef", 1));
  170. var_dump(substr("abcdef", 1, 3));
  171. var_dump(substr("abcdef", 0, 4));
  172. var_dump(substr("abcdef", 0, 8));
  173. var_dump(substr("abcdef", -1, 1));
  174. var_dump(substr("abcdef", 6));
  175. var_dump(substr("abcdef", 3, 0));
  176. $input = "Alien";
  177. var_dump(str_pad($input, 10));
  178. var_dump(str_pad($input, 10, "-=", STR_PAD_LEFT));
  179. var_dump(str_pad($input, 10, "_", STR_PAD_BOTH));
  180. var_dump(str_pad($input, 6 , "___"));
  181. var_dump(str_pad($input, 6 , "\0"));
  182. var_dump(str_repeat("-=", 10));
  183. {
  184. $text = "The quick brown fox jumped over the lazy dog.";
  185. var_dump(wordwrap($text, 20, "<br />\n"));
  186. }
  187. {
  188. $text = "A very long woooooooooooord.";
  189. var_dump(wordwrap($text, 8, "\n", true));
  190. }
  191. $orig = "I'll \"walk\" the <b>dog</b> now";
  192. $a = htmlentities($orig);
  193. var_dump($a);
  194. var_dump(html_entity_decode($a));
  195. var_dump(bin2hex(html_entity_decode("&nbsp;", 3)));
  196. var_dump(bin2hex(html_entity_decode("&nbsp;", 3, "")));
  197. var_dump(bin2hex(html_entity_decode("&nbsp;", 3, "UTF-8")));
  198. var_dump(html_entity_decode("&amp; & &amp;", ENT_QUOTES, "UTF-8"));
  199. var_dump(html_entity_decode("&#00000000000000097; test &amp;", ENT_QUOTES, "UTF-8"));
  200. var_dump(bin2hex(html_entity_decode("&Egrave;")));
  201. var_dump(bin2hex(html_entity_decode("&Egrave;", 3, "UTF-8")));
  202. var_dump(html_entity_decode("&Alpha;"));
  203. var_dump(bin2hex(html_entity_decode("&Alpha;", 3, "UTF-8")));
  204. $str = "A 'quote' is <b>bold</b>";
  205. var_dump(htmlentities($str));
  206. var_dump(htmlentities($str, ENT_QUOTES));
  207. var_dump(htmlentities("\xA0", ENT_COMPAT));
  208. var_dump(htmlentities("\xc2\xA0", ENT_COMPAT, ""));
  209. var_dump(htmlentities("\xc2\xA0", ENT_COMPAT, "UTF-8"));
  210. var_dump(quoted_printable_encode("egfe \015\t"));
  211. var_dump(quoted_printable_decode("=65=67=66=65="));
  212. var_dump(convert_uudecode("+22!L;W9E(%!(4\"$`\n`"));
  213. var_dump(convert_uuencode("test\ntext text\r\n"));
  214. var_dump(str_rot13("PHP 4.3.0"));
  215. var_dump(crc32("The quick brown fox jumped over the lazy dog."));
  216. var_dump(strlen(crypt("mypassword")));
  217. var_dump(md5("apple"));
  218. var_dump(sha1("apple"));
  219. $trans = darray["hello" => "hi", "hi" => "hello"];
  220. var_dump(strtr("hi all, I said hello", $trans));
  221. var_dump(convert_cyr_string("abc", "a", "d")); // sanity
  222. var_dump(hebrev("test")); // sanity
  223. var_dump(hebrevc("test")); // sanity
  224. var_dump(nl_langinfo(AM_STR));
  225. var_dump(sprintf("A%sB%dC", "test", 10));
  226. var_dump(sprintf("%010s", "1101"));
  227. var_dump(sprintf("%02d", "09"));
  228. var_dump(sprintf("(%s-%s)", "foo\0bar", "bar\0foo"));
  229. var_dump(sprintf("[%s]", "a\0b"));
  230. var_dump(vsprintf("A%sB%dC", varray["test", 10]));
  231. var_dump(sscanf("SN/2350001", "SN/%d"));
  232. var_dump(chr(92));
  233. var_dump(ord("\\"));
  234. var_dump(money_format("%i", 1234.56));
  235. var_dump(number_format(1234.56));
  236. var_dump(strcmp("a", "b"));
  237. var_dump(strcmp("a", "A"));
  238. var_dump(strncmp("a", "ab", 1));
  239. var_dump(strnatcmp("a", "b"));
  240. var_dump(strcasecmp("a", "a"));
  241. var_dump(strcasecmp("a", "A"));
  242. var_dump(strcasecmp("A", "a"));
  243. var_dump(strcasecmp("A", "A"));
  244. var_dump(strcasecmp("a", "b"));
  245. var_dump(strcasecmp("a", "B"));
  246. var_dump(strcasecmp("A", "b"));
  247. var_dump(strcasecmp("A", "B"));
  248. var_dump(strcasecmp("b", "a"));
  249. var_dump(strcasecmp("B", "a"));
  250. var_dump(strcasecmp("b", "A"));
  251. var_dump(strcasecmp("B", "A"));
  252. var_dump(strcasecmp("_", "a"));
  253. var_dump(strcasecmp("_", "A"));
  254. var_dump(strcasecmp("a", "_"));
  255. var_dump(strcasecmp("A", "_"));
  256. var_dump(strcasecmp("@", "`"));
  257. var_dump(strcasecmp("`", "@"));
  258. var_dump(strcasecmp("a", "a0"));
  259. var_dump(strcasecmp("a", "A0"));
  260. var_dump(strcasecmp("A", "a0"));
  261. var_dump(strcasecmp("A", "A0"));
  262. var_dump(strcasecmp("a0", "a"));
  263. var_dump(strcasecmp("a0", "A"));
  264. var_dump(strcasecmp("A0", "a"));
  265. var_dump(strcasecmp("A0", "A"));
  266. var_dump(strncasecmp("a", "Ab", 1));
  267. var_dump(strnatcasecmp("a", "Ab"));
  268. var_dump(strcoll("a", "b") < 0);
  269. var_dump(strcoll("a", "A") > 0);
  270. var_dump(substr_compare("abcde", "bc", 1, 2));
  271. var_dump(substr_compare("abcde", "de", -2, 2));
  272. var_dump(substr_compare("abcde", "bcg", 1, 2));
  273. var_dump(substr_compare("abcde", "BC", 1, 2, true));
  274. var_dump(substr_compare("abcde", "bc", 1, 3));
  275. var_dump(substr_compare("abcde", "cd", 1, 2));
  276. $email = "name@example.com";
  277. var_dump(strchr($email, "@"));
  278. $text = "Line 1\nLine 2\nLine 3";
  279. var_dump(strrchr($text, 10));
  280. $email = "name@example.com";
  281. var_dump(strstr($email, "@"));
  282. var_dump(strstr($email, "@", true));
  283. var_dump(strstr($email, "@", false));
  284. var_dump(stristr("Hello World!", "earth"));
  285. var_dump(stristr("APPLE", 97));
  286. var_dump(stristr("foo bar", "bar", true));
  287. var_dump(stristr("foo bar", "bar", false));
  288. $text = "This is a Simple text.";
  289. var_dump(strpbrk($text, "mi"));
  290. var_dump(strpbrk($text, "S"));
  291. var_dump(strpos("abcdef abcdef", "a"));
  292. var_dump(strpos("abcdef abcdef", "a", 1));
  293. var_dump(strpos("abcdef abcdef", "A", 1));
  294. var_dump(strpos("abcdef abcdef", "", 0));
  295. var_dump(stripos("abcdef abcdef", "A", 1));
  296. var_dump(strrpos("abcdef abcdef", "a"));
  297. var_dump(strrpos("0123456789a123456789b123456789c", "7", -5));
  298. var_dump(strrpos("0123456789a123456789b123456789c", "7", 20));
  299. var_dump(strrpos("0123456789a123456789b123456789c", "7", 28));
  300. var_dump(strripos("abcdef abcdef", "A"));
  301. var_dump(strrpos("abc", "c\0", -1));
  302. var_dump(strripos("abc", "c\0", -1));
  303. var_dump(strrpos("abc", "abc", -3));
  304. var_dump(strripos("abc", "abc", -3));
  305. var_dump(strrpos("aaaa", "aa", -1));
  306. var_dump(strripos("aaaa", "aa", -1));
  307. var_dump(strrpos("aaaa", "aa", -2));
  308. var_dump(strripos("aaaa", "aa", -2));
  309. $text = "This is a test";
  310. var_dump(substr_count($text, "is"));
  311. var_dump(substr_count($text, "is", 3));
  312. var_dump(substr_count($text, "is", 3, 3));
  313. var_dump(substr_count("gcdgcdgcd", "gcdgcd"));
  314. var_dump(strspn("foo", "o", 1, 2));
  315. var_dump(strcspn("foo", "o", 1, 2));
  316. var_dump(strlen("test"));
  317. $ret = count_chars("Two Ts and one F.");
  318. var_dump($ret[ord("T")]);
  319. var_dump(str_word_count("Two Ts and one F."));
  320. var_dump(str_word_count("", 2));
  321. var_dump(str_word_count("1", 2));
  322. var_dump(str_word_count("1 2", 2));
  323. var_dump(levenshtein("carrrot", "carrot"));
  324. $percent = -1.0;
  325. var_dump(similar_text("carrrot", "carrot", inout $percent));
  326. var_dump(soundex("carrot"));
  327. var_dump(metaphone("carrot"));
  328. $output = null;
  329. parse_str("first=value&arr[]=foo+bar&arr[]=baz", inout $output);
  330. var_dump($output['first']);
  331. var_dump($output['arr'][0]);
  332. var_dump($output['arr'][1]);
  333. parse_str('a[2][i]=3&a[4][i]=5', inout $output);
  334. var_dump($output['a'][2]['i']);
  335. var_dump($output['a'][4]['i']);
  336. var_dump(wordwrap('foobar*foobar', 6, '*', true));
  337. var_dump(wordwrap("12345 12345 12345 12345"));
  338. var_dump(wordwrap("12345 12345 1234567890 1234567890",12));
  339. var_dump(wordwrap("12345 12345 1234567890 1234567890",12));
  340. var_dump(wordwrap("12345 12345 12345 12345",0));
  341. var_dump(wordwrap("12345 12345 12345 12345",0,"ab"));
  342. var_dump(wordwrap("12345 12345 1234567890 1234567890",12,"ab"));
  343. var_dump(wordwrap("123ab123ab123", 3, "ab"));
  344. var_dump(wordwrap("123ab123ab123", 5, "ab"));
  345. var_dump(wordwrap("123 123ab123", 3, "ab"));
  346. var_dump(wordwrap("123 123ab123", 5, "ab"));
  347. var_dump(wordwrap("123 123 123", 10, "ab"));
  348. var_dump(wordwrap("123ab123ab123", 3, "ab", true));
  349. var_dump(wordwrap("123ab123ab123", 5, "ab", true));
  350. var_dump(wordwrap("123 123ab123", 3, "ab", true));
  351. var_dump(wordwrap("123 123ab123", 5, "ab", true));
  352. var_dump(wordwrap("123 123 123", 8, "ab", true));
  353. var_dump(wordwrap("123 12345 123", 8, "ab", true));
  354. var_dump(wordwrap("1234", 1, "ab", true));
  355. var_dump(wordwrap("12345 1234567890", 5, "|", true));
  356. var_dump(wordwrap("123 1234567890 123", 10, "|==", true));
  357. }