im Grunde, was ich versuche zu tun,php :: anwenden Backticks erstes Wort im Satz
Ich habe ein Array, die etwa wie folgt aussieht:
array(
array(
'select' =>'first string',
'escape' => true
),
array(
'select' =>'second',
'escape' => true
),
array(
'select' =>'the third string',
'escape' => true
),
array(
'select' =>'fourth string',
'escape' => false
),
)
ich darüber bin Looping und ich will mit diesem Ausgang am Ende
array(
array(
'select' =>'`first` string',
'escape' => true
),
array(
'select' =>'`second`',
'escape' => true
),
array(
'select' =>'`the` third string',
'escape' => true
),
array(
'select' =>'fourth string',
'escape' => false
),
)
so Grundregeln sind
- Backticks sind nur dann angewendet, wenn Flucht wahr ist
- Backticks sind nur auf das erste Wort in einem Satz
- wenn es nur ein Wort Backticks auf das Wort angewendet werden angewendet
Mein Plan
zu verwenden warif($item['escape']) {
$pos = (strpos($item['select'], ' ') === false ? strlen($item['select']) : strpos($item['select'], ' '));
$item['select'] = '`' . substr($item['select'], 0, $pos) . '`' . substr($item['select'], $pos, strlen($item['select']));
}
aber die $item['select'] =
Linie scheint ziemlich langatmig, gibt es einen besseren Weg, es zu schreiben?