You might try doing something like
$string=preg_replace('/[(\037-\127)]*$/','', $string);
For what it's worth, here's a VB function (non RegEx) to strip non ascii characters. Should be pretty easy to convert this to PHP.
Function StripNonAscii(rvntVal As Variant) As String
Dim i As Integer
Dim sTmp As String
'stubbed out to enable DBCS chars
StripNonAscii = rvntVal
Exit Function
For i = 1 To Len(rvntVal)
If Asc(Mid(rvntVal, i, 1)) < 32 Or Asc(Mid(rvntVal, i, 1)) > 126 Then
sTmp = sTmp & " "
Else
sTmp = sTmp & Mid(rvntVal, i, 1)
End If
Next
StripNonAscii = sTmp
End Function