How to check if a string includes $sometext$ without numbers in PHP

1 Answer

0 votes
function includeDollarSymbolText(string $input): bool {
    // Regex to match $word$, case-insensitive
    $cleanedText = preg_replace('/\$[a-z]+\$/i', '', $input);

    // Check for any remaining dollar symbols
    return strpos($cleanedText, '$') === false;
}

echo var_export(includeDollarSymbolText("abc xy \$text\$ z"), true) . "\n";              // ok
echo var_export(includeDollarSymbolText("abc xy \$ text\$ z"), true) . "\n";             // space
echo var_export(includeDollarSymbolText("abc xy \$\$ z"), true) . "\n";                  // empty
echo var_export(includeDollarSymbolText("abc 100 \$text\$ z"), true) . "\n";             // ok
echo var_export(includeDollarSymbolText("abc \$1000 \$text\$ z"), true) . "\n";          // open $
echo var_export(includeDollarSymbolText("abc xy \$IBM\$ z \$Microsoft\$"), true) . "\n"; // ok
echo var_export(includeDollarSymbolText("abc xy \$F3\$ z"), true) . "\n";                // include number
echo var_export(includeDollarSymbolText("abc xy \$text z"), true) . "\n";                // missing close $



/*
run:

true
false
false
true
false
true
false
false

*/

 



answered Jul 11, 2025 by avibootz
...