Vraag:

Hoe selecteer ik de tekst tussen aanhalingstekens uit een string.

$str = "aap 'noot' mies";

Ik doe tevergeefs pogingen met preg_match en preg_replace.

Chris Martinus.
Met zoiets als dit:

<?php


// verkrijg string tussen 2 tags
function tussen($string, $start, $end)
	{
	$string = " ".$string;
	$ini = strpos($string,$start);
	if ($ini == 0) return "";
	$ini += strlen($start);     
	$len = strpos($string,$end,$ini) - $ini;
	return substr($string,$ini,$len);
	}
	
$origineel = "aap 'noot' mies";
$tekst_tussen_haakjes = tussen($origineel, "'", "'");

echo $tekst_tussen_haakjes;
?>
<?php

function tussen_haakjes($str){
  return preg_match("/'(.*?)'/",$str,$match) ? $match[1] : false;
}

print(tussen_haakjes("aap 'noot' mies")); //noot

?>
<?php

function get_quoted ($string) {
preg_match_all("/(?<=')([^'|\s.])+/", $string, $matches);
return $matches[0];
}

$string = "aap 'noot' mies 'boom' huis";
$quoted = get_quoted($string);

foreach ($quoted as $quote) {
echo $quote . '<br>';
}

// Resultaat:
// noot
// boom

?>
Uitstekend.
Deze 3 opties doen precies wat ik wil
Dit ga ik verder uitwerken.

Ontzettend bedankt.

Chris Martinus
Graag gedaan en succes ermee!

Reageren