@@ -266,7 +266,7 @@ function replaceWithString($haystack, $needle, $replacement)
266266 */
267267function replaceWithExpression ($ haystack , $ needle , $ replacement )
268268{
269- return preg_replace ($ needle , $ replacement , $ haystack );
269+ return ( string ) preg_replace ($ needle , $ replacement , $ haystack );
270270}
271271
272272/**
@@ -352,6 +352,12 @@ function splitWithExpression($haystack, $needle, $limit = 0)
352352 return preg_split ($ needle , $ haystack , $ limit );
353353}
354354
355+ /**
356+ * @param string $haystack
357+ * @param string $needle
358+ *
359+ * @return string
360+ */
355361function trim ($ haystack , $ needle )
356362{
357363 if (isExpression ($ needle )) {
@@ -361,18 +367,36 @@ function trim($haystack, $needle)
361367 return trimWithString ($ haystack , $ needle );
362368}
363369
370+ /**
371+ * @param string $haystack
372+ * @param string $needle
373+ *
374+ * @return string
375+ */
364376function trimWithString ($ haystack , $ needle )
365377{
366378 return \trim ($ haystack , $ needle );
367379}
368380
381+ /**
382+ * @param string $haystack
383+ * @param string $needle
384+ *
385+ * @return string
386+ */
369387function trimWithExpression ($ haystack , $ needle )
370388{
371389 $ pattern = slice ($ needle , 1 , length ($ needle ) - 2 );
372390
373- return preg_replace ("#^ {$ pattern }| {$ pattern }$# " , "" , $ haystack );
391+ return ( string ) preg_replace ("#^ {$ pattern }| {$ pattern }$# " , "" , $ haystack );
374392}
375393
394+ /**
395+ * @param string $haystack
396+ * @param string $needle
397+ *
398+ * @return string
399+ */
376400function trimLeft ($ haystack , $ needle )
377401{
378402 if (isExpression ($ needle )) {
@@ -382,18 +406,36 @@ function trimLeft($haystack, $needle)
382406 return trimLeftWithString ($ haystack , $ needle );
383407}
384408
409+ /**
410+ * @param string $haystack
411+ * @param string $needle
412+ *
413+ * @return string
414+ */
385415function trimLeftWithString ($ haystack , $ needle )
386416{
387417 return ltrim ($ haystack , $ needle );
388418}
389419
420+ /**
421+ * @param string $haystack
422+ * @param string $needle
423+ *
424+ * @return string
425+ */
390426function trimLeftWithExpression ($ haystack , $ needle )
391427{
392428 $ pattern = slice ($ needle , 1 , length ($ needle ) - 2 );
393429
394- return preg_replace ("#^ {$ pattern }# " , "" , $ haystack );
430+ return ( string ) preg_replace ("#^ {$ pattern }# " , "" , $ haystack );
395431}
396432
433+ /**
434+ * @param string $haystack
435+ * @param string $needle
436+ *
437+ * @return string
438+ */
397439function trimRight ($ haystack , $ needle )
398440{
399441 if (isExpression ($ needle )) {
@@ -403,14 +445,26 @@ function trimRight($haystack, $needle)
403445 return trimRightWithString ($ haystack , $ needle );
404446}
405447
448+ /**
449+ * @param string $haystack
450+ * @param string $needle
451+ *
452+ * @return string
453+ */
406454function trimRightWithString ($ haystack , $ needle )
407455{
408456 return rtrim ($ haystack , $ needle );
409457}
410458
459+ /**
460+ * @param string $haystack
461+ * @param string $needle
462+ *
463+ * @return string
464+ */
411465function trimRightWithExpression ($ haystack , $ needle )
412466{
413467 $ pattern = slice ($ needle , 1 , length ($ needle ) - 2 );
414468
415- return preg_replace ("# {$ pattern }$# " , "" , $ haystack );
469+ return ( string ) preg_replace ("# {$ pattern }$# " , "" , $ haystack );
416470}
0 commit comments