Annotation of embedaddon/php/ext/standard/tests/strings/str_replace.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test str_replace() function
3: --INI--
4: precision=14
5: --FILE--
6: <?php
7: /*
8: Prototype: mixed str_replace(mixed $search, mixed $replace,
9: mixed $subject [, int &$count]);
10: Description: Replace all occurrences of the search string with
11: the replacement string
12: */
13:
14: echo "\n*** Testing str_replace() on basic operations ***\n";
15:
16: var_dump( str_replace("", "", "") );
17:
18: var_dump( str_replace("e", "b", "test") );
19:
20: var_dump( str_replace("", "", "", $count) );
21: var_dump( $count );
22:
23: var_dump( str_replace("q", "q", "q", $count) );
24: var_dump( $count );
25:
26: var_dump( str_replace("long string here", "", "", $count) );
27: var_dump( $count );
28:
29: $fp = fopen( __FILE__, "r" );
30: $fp_copy = $fp;
31: var_dump( str_replace($fp_copy, $fp_copy, $fp_copy, $fp_copy) );
32: var_dump( $fp_copy );
33: fclose($fp);
34:
35: echo "\n*** Testing str_replace() with various search values ***";
36: $search_arr = array( TRUE, FALSE, 1, 0, -1, "1", "0", "-1", NULL,
37: array(), "php", "");
38:
39: $i = 0;
40: /* loop through to replace the matched elements in the array */
41: foreach( $search_arr as $value ) {
42: echo "\n-- Iteration $i --\n";
43: /* replace the string in array */
44: var_dump( str_replace($value, "FOUND", $search_arr, $count) );
45: var_dump( $count );
46: $i++;
47: }
48:
49: echo "\n*** Testing str_replace() with various subjects ***";
50: $subject = "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE\000
51: \x000\xABCD\0abcd \xXYZ\tabcd $$@#%^&*!~,.:;?: !!Hello, World
52: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)";
53:
54: /* needles in an array to be compared in the string $string */
55: $search_str = array (
56: "Hello, World",
57: 'Hello, World',
58: '!!Hello, World',
59: "??Hello, World",
60: "$@#%^&*!~,.:;?",
61: "123",
62: 123,
63: "-1.2345",
64: -1.2344,
65: "abcd",
66: 'XYZ',
67: NULL,
68: "NULL",
69: "0",
70: 0,
71: "",
72: " ",
73: "\0",
74: "\x000",
75: "\xABC",
76: "\0000",
77: ".3",
78: TRUE,
79: "TRUE",
80: "1",
81: 1,
82: FALSE,
83: "FALSE",
84: " ",
85: " ",
86: 'b',
87: '\t',
88: "\t",
89: chr(128).chr(234).chr(65).chr(255).chr(256),
90: $subject
91: );
92:
93: /* loop through to get the $string */
94: for( $i = 0; $i < count($search_str); $i++ ) {
95: echo "\n--- Iteration $i ---";
96: echo "\n-- String after replacing the search value is => --\n";
97: var_dump( str_replace($search_str[$i], "FOUND", $subject, $count) );
98: echo "-- search string has found '$count' times\n";
99: }
100:
101:
102: echo "\n*** Testing Miscelleneous input data ***\n";
103: /* If replace has fewer values than search, then an empty
104: string is used for the rest of replacement values */
105: var_dump( str_replace(array("a", "a", "b"),
106: array("q", "q"),
107: "aaabb", $count
108: )
109: );
110: var_dump($count);
111: var_dump( str_replace(array("a", "a", "b"),
112: array("q", "q"),
113: array("aaa", "bbb", "ccc"),
114: $count
115: )
116: );
117: var_dump($count);
118:
119:
120: echo "\n-- Testing objects --\n";
121: /* we get "Catchable fatal error: saying Object of class could not be converted
122: to string" by default, when an object is passed instead of string:
123: The error can be avoided by chosing the __toString magix method as follows: */
124:
125: class subject
126: {
127: function __toString() {
128: return "Hello, world";
129: }
130: }
131: $obj_subject = new subject;
132:
133: class search
134: {
135: function __toString() {
136: return "Hello, world";
137: }
138: }
139: $obj_search = new search;
140:
141: class replace
142: {
143: function __toString() {
144: return "Hello, world";
145: }
146: }
147: $obj_replace = new replace;
148:
149: var_dump(str_replace("$obj_search", "$obj_replace", "$obj_subject", $count));
150: var_dump($count);
151:
152:
153: echo "\n-- Testing arrays --\n";
154: var_dump(str_replace(array("a", "a", "b"), "multi", "aaa", $count));
155: var_dump($count);
156:
157: var_dump(str_replace( array("a", "a", "b"),
158: array("q", "q", "c"),
159: "aaa", $count
160: )
161: );
162: var_dump($count);
163:
164: var_dump(str_replace( array("a", "a", "b"),
165: array("q", "q", "c"),
166: array("aaa", "bbb"),
167: $count
168: )
169: );
170: var_dump($count);
171:
172: var_dump(str_replace("a", array("q", "q", "c"), array("aaa", "bbb"), $count));
173: var_dump($count);
174:
175: var_dump(str_replace("a", 1, array("aaa", "bbb"), $count));
176: var_dump($count);
177:
178: var_dump(str_replace(1, 3, array("aaa1", "2bbb"), $count));
179: var_dump($count);
180:
181:
182: echo "\n-- Testing Resources --\n";
183: $resource1 = fopen( __FILE__, "r" );
184: $resource2 = opendir( "." );
185: var_dump(str_replace("stream", "FOUND", $resource1, $count));
186: var_dump($count);
187: var_dump(str_replace("stream", "FOUND", $resource2, $count));
188: var_dump($count);
189:
190:
191: echo "\n-- Testing a longer and heredoc string --\n";
192: $string = <<<EOD
193: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
194: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
195: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
196: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
197: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
198: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
199: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
200: @#$%^&**&^%$#@!~:())))((((&&&**%$###@@@!!!~~~~@###$%^&*
201: abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
202: EOD;
203:
204: var_dump( str_replace("abcdef", "FOUND", $string, $count) );
205: var_dump( $count );
206:
207: echo "\n-- Testing a heredoc null string --\n";
208: $str = <<<EOD
209: EOD;
210: var_dump( str_replace("", "FOUND", $str, $count) );
211: var_dump( $count );
212:
213:
214: echo "\n-- Testing simple and complex syntax strings --\n";
215: $str = 'world';
216:
217: /* Simple syntax */
218: var_dump( str_replace("world", "FOUND", "$str") );
219: var_dump( str_replace("world'S", "FOUND", "$str'S") );
220: var_dump( str_replace("worldS", "FOUND", "$strS") );
221:
222: /* String with curly braces, complex syntax */
223: var_dump( str_replace("worldS", "FOUND", "${str}S") );
224: var_dump( str_replace("worldS", "FOUND", "{$str}S") );
225:
226:
227: echo "\n*** Testing error conditions ***";
228: /* Invalid arguments */
229: var_dump( str_replace() );
230: var_dump( str_replace("") );
231: var_dump( str_replace(NULL) );
232: var_dump( str_replace(1, 2) );
233: var_dump( str_replace(1,2,3,$var,5) );
234:
235: fclose($resource1);
236: closedir($resource2);
237: echo "Done\n";
238:
239: ?>
240: --EXPECTF--
241: *** Testing str_replace() on basic operations ***
242: string(0) ""
243: string(4) "tbst"
244: string(0) ""
245: int(0)
246: string(1) "q"
247: int(1)
248: string(0) ""
249: int(0)
250: string(%d) "Resource id #%d"
251: int(1)
252:
253: *** Testing str_replace() with various search values ***
254: -- Iteration 0 --
255: array(12) {
256: [0]=>
257: string(5) "FOUND"
258: [1]=>
259: string(0) ""
260: [2]=>
261: string(5) "FOUND"
262: [3]=>
263: string(1) "0"
264: [4]=>
265: string(6) "-FOUND"
266: [5]=>
267: string(5) "FOUND"
268: [6]=>
269: string(1) "0"
270: [7]=>
271: string(6) "-FOUND"
272: [8]=>
273: string(0) ""
274: [9]=>
275: array(0) {
276: }
277: [10]=>
278: string(3) "php"
279: [11]=>
280: string(0) ""
281: }
282: int(5)
283:
284: -- Iteration 1 --
285: array(12) {
286: [0]=>
287: string(1) "1"
288: [1]=>
289: string(0) ""
290: [2]=>
291: string(1) "1"
292: [3]=>
293: string(1) "0"
294: [4]=>
295: string(2) "-1"
296: [5]=>
297: string(1) "1"
298: [6]=>
299: string(1) "0"
300: [7]=>
301: string(2) "-1"
302: [8]=>
303: string(0) ""
304: [9]=>
305: array(0) {
306: }
307: [10]=>
308: string(3) "php"
309: [11]=>
310: string(0) ""
311: }
312: int(0)
313:
314: -- Iteration 2 --
315: array(12) {
316: [0]=>
317: string(5) "FOUND"
318: [1]=>
319: string(0) ""
320: [2]=>
321: string(5) "FOUND"
322: [3]=>
323: string(1) "0"
324: [4]=>
325: string(6) "-FOUND"
326: [5]=>
327: string(5) "FOUND"
328: [6]=>
329: string(1) "0"
330: [7]=>
331: string(6) "-FOUND"
332: [8]=>
333: string(0) ""
334: [9]=>
335: array(0) {
336: }
337: [10]=>
338: string(3) "php"
339: [11]=>
340: string(0) ""
341: }
342: int(5)
343:
344: -- Iteration 3 --
345: array(12) {
346: [0]=>
347: string(1) "1"
348: [1]=>
349: string(0) ""
350: [2]=>
351: string(1) "1"
352: [3]=>
353: string(5) "FOUND"
354: [4]=>
355: string(2) "-1"
356: [5]=>
357: string(1) "1"
358: [6]=>
359: string(5) "FOUND"
360: [7]=>
361: string(2) "-1"
362: [8]=>
363: string(0) ""
364: [9]=>
365: array(0) {
366: }
367: [10]=>
368: string(3) "php"
369: [11]=>
370: string(0) ""
371: }
372: int(2)
373:
374: -- Iteration 4 --
375: array(12) {
376: [0]=>
377: string(1) "1"
378: [1]=>
379: string(0) ""
380: [2]=>
381: string(1) "1"
382: [3]=>
383: string(1) "0"
384: [4]=>
385: string(5) "FOUND"
386: [5]=>
387: string(1) "1"
388: [6]=>
389: string(1) "0"
390: [7]=>
391: string(5) "FOUND"
392: [8]=>
393: string(0) ""
394: [9]=>
395: array(0) {
396: }
397: [10]=>
398: string(3) "php"
399: [11]=>
400: string(0) ""
401: }
402: int(2)
403:
404: -- Iteration 5 --
405: array(12) {
406: [0]=>
407: string(5) "FOUND"
408: [1]=>
409: string(0) ""
410: [2]=>
411: string(5) "FOUND"
412: [3]=>
413: string(1) "0"
414: [4]=>
415: string(6) "-FOUND"
416: [5]=>
417: string(5) "FOUND"
418: [6]=>
419: string(1) "0"
420: [7]=>
421: string(6) "-FOUND"
422: [8]=>
423: string(0) ""
424: [9]=>
425: array(0) {
426: }
427: [10]=>
428: string(3) "php"
429: [11]=>
430: string(0) ""
431: }
432: int(5)
433:
434: -- Iteration 6 --
435: array(12) {
436: [0]=>
437: string(1) "1"
438: [1]=>
439: string(0) ""
440: [2]=>
441: string(1) "1"
442: [3]=>
443: string(5) "FOUND"
444: [4]=>
445: string(2) "-1"
446: [5]=>
447: string(1) "1"
448: [6]=>
449: string(5) "FOUND"
450: [7]=>
451: string(2) "-1"
452: [8]=>
453: string(0) ""
454: [9]=>
455: array(0) {
456: }
457: [10]=>
458: string(3) "php"
459: [11]=>
460: string(0) ""
461: }
462: int(2)
463:
464: -- Iteration 7 --
465: array(12) {
466: [0]=>
467: string(1) "1"
468: [1]=>
469: string(0) ""
470: [2]=>
471: string(1) "1"
472: [3]=>
473: string(1) "0"
474: [4]=>
475: string(5) "FOUND"
476: [5]=>
477: string(1) "1"
478: [6]=>
479: string(1) "0"
480: [7]=>
481: string(5) "FOUND"
482: [8]=>
483: string(0) ""
484: [9]=>
485: array(0) {
486: }
487: [10]=>
488: string(3) "php"
489: [11]=>
490: string(0) ""
491: }
492: int(2)
493:
494: -- Iteration 8 --
495: array(12) {
496: [0]=>
497: string(1) "1"
498: [1]=>
499: string(0) ""
500: [2]=>
501: string(1) "1"
502: [3]=>
503: string(1) "0"
504: [4]=>
505: string(2) "-1"
506: [5]=>
507: string(1) "1"
508: [6]=>
509: string(1) "0"
510: [7]=>
511: string(2) "-1"
512: [8]=>
513: string(0) ""
514: [9]=>
515: array(0) {
516: }
517: [10]=>
518: string(3) "php"
519: [11]=>
520: string(0) ""
521: }
522: int(0)
523:
524: -- Iteration 9 --
525: array(12) {
526: [0]=>
527: string(1) "1"
528: [1]=>
529: string(0) ""
530: [2]=>
531: string(1) "1"
532: [3]=>
533: string(1) "0"
534: [4]=>
535: string(2) "-1"
536: [5]=>
537: string(1) "1"
538: [6]=>
539: string(1) "0"
540: [7]=>
541: string(2) "-1"
542: [8]=>
543: string(0) ""
544: [9]=>
545: array(0) {
546: }
547: [10]=>
548: string(3) "php"
549: [11]=>
550: string(0) ""
551: }
552: int(0)
553:
554: -- Iteration 10 --
555: array(12) {
556: [0]=>
557: string(1) "1"
558: [1]=>
559: string(0) ""
560: [2]=>
561: string(1) "1"
562: [3]=>
563: string(1) "0"
564: [4]=>
565: string(2) "-1"
566: [5]=>
567: string(1) "1"
568: [6]=>
569: string(1) "0"
570: [7]=>
571: string(2) "-1"
572: [8]=>
573: string(0) ""
574: [9]=>
575: array(0) {
576: }
577: [10]=>
578: string(5) "FOUND"
579: [11]=>
580: string(0) ""
581: }
582: int(1)
583:
584: -- Iteration 11 --
585: array(12) {
586: [0]=>
587: string(1) "1"
588: [1]=>
589: string(0) ""
590: [2]=>
591: string(1) "1"
592: [3]=>
593: string(1) "0"
594: [4]=>
595: string(2) "-1"
596: [5]=>
597: string(1) "1"
598: [6]=>
599: string(1) "0"
600: [7]=>
601: string(2) "-1"
602: [8]=>
603: string(0) ""
604: [9]=>
605: array(0) {
606: }
607: [10]=>
608: string(3) "php"
609: [11]=>
610: string(0) ""
611: }
612: int(0)
613:
614: *** Testing str_replace() with various subjects ***
615: --- Iteration 0 ---
616: -- String after replacing the search value is => --
617: string(177) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
618: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!FOUND
619: ?FOUND chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
620: -- search string has found '2' times
621:
622: --- Iteration 1 ---
623: -- String after replacing the search value is => --
624: string(177) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
625: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!FOUND
626: ?FOUND chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
627: -- search string has found '2' times
628:
629: --- Iteration 2 ---
630: -- String after replacing the search value is => --
631: string(182) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
632: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: FOUND
633: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
634: -- search string has found '1' times
635:
636: --- Iteration 3 ---
637: -- String after replacing the search value is => --
638: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
639: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
640: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
641: -- search string has found '0' times
642:
643: --- Iteration 4 ---
644: -- String after replacing the search value is => --
645: string(182) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
646: 0«CD abcd \xXYZ abcd $FOUND: !!Hello, World
647: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
648: -- search string has found '1' times
649:
650: --- Iteration 5 ---
651: -- String after replacing the search value is => --
652: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
653: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
654: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
655: -- search string has found '0' times
656:
657: --- Iteration 6 ---
658: -- String after replacing the search value is => --
659: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
660: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
661: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
662: -- search string has found '0' times
663:
664: --- Iteration 7 ---
665: -- String after replacing the search value is => --
666: string(189) "Hello, world,0120333.3445FOUND67 NULL TRUE FALSE
667: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
668: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
669: -- search string has found '1' times
670:
671: --- Iteration 8 ---
672: -- String after replacing the search value is => --
673: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
674: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
675: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
676: -- search string has found '0' times
677:
678: --- Iteration 9 ---
679: -- String after replacing the search value is => --
680: string(193) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
681: 0«CD FOUND \xXYZ FOUND $$@#%^&*!~,.:;?: !!Hello, World
682: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
683: -- search string has found '2' times
684:
685: --- Iteration 10 ---
686: -- String after replacing the search value is => --
687: string(193) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
688: 0«CD abcd \xFOUND abcd $$@#%^&*!~,.:;?: !!Hello, World
689: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
690: -- search string has found '1' times
691:
692: --- Iteration 11 ---
693: -- String after replacing the search value is => --
694: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
695: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
696: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
697: -- search string has found '0' times
698:
699: --- Iteration 12 ---
700: -- String after replacing the search value is => --
701: string(192) "Hello, world,0120333.3445-1.234567 FOUND TRUE FALSE
702: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
703: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
704: -- search string has found '1' times
705:
706: --- Iteration 13 ---
707: -- String after replacing the search value is => --
708: string(207) "Hello, world,FOUND12FOUND333.3445-1.234567 NULL TRUE FALSE
709: FOUND«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
710: ?Hello, World chr(FOUND).chr(128).chr(234).chr(65).chr(255).chr(256)"
711: -- search string has found '4' times
712:
713: --- Iteration 14 ---
714: -- String after replacing the search value is => --
715: string(207) "Hello, world,FOUND12FOUND333.3445-1.234567 NULL TRUE FALSE
716: FOUND«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
717: ?Hello, World chr(FOUND).chr(128).chr(234).chr(65).chr(255).chr(256)"
718: -- search string has found '4' times
719:
720: --- Iteration 15 ---
721: -- String after replacing the search value is => --
722: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
723: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
724: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
725: -- search string has found '0' times
726:
727: --- Iteration 16 ---
728: -- String after replacing the search value is => --
729: string(307) "Hello,FOUNDworld,0120333.3445-1.234567FOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDNULLFOUNDTRUEFOUNDFALSE
730: FOUND FOUNDFOUNDFOUNDFOUND 0«CD abcdFOUND\xXYZ abcdFOUND$$@#%^&*!~,.:;?:FOUND!!Hello,FOUNDWorldFOUND
731: FOUNDFOUNDFOUNDFOUND?Hello,FOUNDWorldFOUNDchr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
732: -- search string has found '29' times
733:
734: --- Iteration 17 ---
735: -- String after replacing the search value is => --
736: string(203) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSEFOUND
737: FOUND0«CDFOUNDabcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
738: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
739: -- search string has found '3' times
740:
741: --- Iteration 18 ---
742: -- String after replacing the search value is => --
743: string(194) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
744: FOUND«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
745: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
746: -- search string has found '1' times
747:
748: --- Iteration 19 ---
749: -- String after replacing the search value is => --
750: string(194) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
751: 0FOUNDD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
752: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
753: -- search string has found '1' times
754:
755: --- Iteration 20 ---
756: -- String after replacing the search value is => --
757: string(194) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
758: FOUND«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
759: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
760: -- search string has found '1' times
761:
762: --- Iteration 21 ---
763: -- String after replacing the search value is => --
764: string(194) "Hello, world,0120333FOUND445-1.234567 NULL TRUE FALSE
765: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
766: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
767: -- search string has found '1' times
768:
769: --- Iteration 22 ---
770: -- String after replacing the search value is => --
771: string(203) "Hello, world,0FOUND20333.3445-FOUND.234567 NULL TRUE FALSE
772: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
773: ?Hello, World chr(0).chr(FOUND28).chr(234).chr(65).chr(255).chr(256)"
774: -- search string has found '3' times
775:
776: --- Iteration 23 ---
777: -- String after replacing the search value is => --
778: string(192) "Hello, world,0120333.3445-1.234567 NULL FOUND FALSE
779: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
780: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
781: -- search string has found '1' times
782:
783: --- Iteration 24 ---
784: -- String after replacing the search value is => --
785: string(203) "Hello, world,0FOUND20333.3445-FOUND.234567 NULL TRUE FALSE
786: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
787: ?Hello, World chr(0).chr(FOUND28).chr(234).chr(65).chr(255).chr(256)"
788: -- search string has found '3' times
789:
790: --- Iteration 25 ---
791: -- String after replacing the search value is => --
792: string(203) "Hello, world,0FOUND20333.3445-FOUND.234567 NULL TRUE FALSE
793: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
794: ?Hello, World chr(0).chr(FOUND28).chr(234).chr(65).chr(255).chr(256)"
795: -- search string has found '3' times
796:
797: --- Iteration 26 ---
798: -- String after replacing the search value is => --
799: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
800: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
801: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
802: -- search string has found '0' times
803:
804: --- Iteration 27 ---
805: -- String after replacing the search value is => --
806: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FOUND
807: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
808: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
809: -- search string has found '1' times
810:
811: --- Iteration 28 ---
812: -- String after replacing the search value is => --
813: string(307) "Hello,FOUNDworld,0120333.3445-1.234567FOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDFOUNDNULLFOUNDTRUEFOUNDFALSE
814: FOUND FOUNDFOUNDFOUNDFOUND 0«CD abcdFOUND\xXYZ abcdFOUND$$@#%^&*!~,.:;?:FOUND!!Hello,FOUNDWorldFOUND
815: FOUNDFOUNDFOUNDFOUND?Hello,FOUNDWorldFOUNDchr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
816: -- search string has found '29' times
817:
818: --- Iteration 29 ---
819: -- String after replacing the search value is => --
820: string(186) "Hello, world,0120333.3445-1.234567FOUNDNULL TRUE FALSE
821: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
822: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
823: -- search string has found '1' times
824:
825: --- Iteration 30 ---
826: -- String after replacing the search value is => --
827: string(199) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
828: 0«CD aFOUNDcd \xXYZ aFOUNDcd $$@#%^&*!~,.:;?: !!Hello, World
829: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
830: -- search string has found '2' times
831:
832: --- Iteration 31 ---
833: -- String after replacing the search value is => --
834: string(191) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
835: 0«CD abcd \xXYZ abcd $$@#%^&*!~,.:;?: !!Hello, World
836: ?Hello, World chr(0).chr(128).chr(234).chr(65).chr(255).chr(256)"
837: -- search string has found '0' times
838:
839: --- Iteration 32 ---
840: -- String after replacing the search value is => --
841: string(203) "Hello, world,0120333.3445-1.234567 NULL TRUE FALSE
842: FOUND