Краткое примечание: Я знаю, что анализаторы уценки не заботятся об этой проблеме.Это ради визуальной согласованности в файле md, а также экспериментов.
Образец :
# this
##that
###or this other
Цель : прочитать каждую строку и, если заголовок уценки не имеет пробела после знака фунта / хэштега, добавьте его так, чтобы он выглядел так:
# this
## that
### or this other
Моя попытка без регулярного выражения:
function inelegantFunction (string $string){
$array = explode('#',$string);
$num = count($array);
$text = end($array);
return str_repeat('#', $num-1)." ".$text;
}
echo inelegantFunction("###or this other");
// returns ### or this other
Это работает, но у него нет механизма, чтобы соответствовать маловероятному случаю семи '#'.
Независимо от эффективности, я хотел бы выяснить, как сделать это с помощью регулярного выражения в php (и, возможно, javascript, если это имеет значение).