$re = '/<[pP]-([a-zA-Z-]+)([^>]*)?>[\s\n]*<\/[pP]-\1>/m';
$str = '<p-button type="submit" [outlined]="true" label="FILTRAR" icon="pi pi-search"[outlined]="true" [outlined]="true">
</p-button>
<p-button[outlinued]="true"></p-gfwefew>
<p-button/>
<p-input pInputNumber></p-input>
<p-button
[outlinued]="true"></p-button>
<p-button [outlinued]="true" label="FILTRAR" icon="pi pi-search"></p-button>
<p-calendar [outlinued]="true" label="FILTRAR" icon="pi pi-search"></p-calendar>
<p-button></p-button>
<p-BUTTON [outlined]="true"
label="FILTRAR"
icon="pi pi-search">
</p-BUTTON>
<p-autoComplete id="populationCategoriesID" formControlName="populationCategoriesID"
[suggestions]="filtered[\'populationCategory\']"
(completeMethod)="filterMutiple($event,\'populationCategory\')" field="name" [multiple]="true"
[showEmptyMessage]="true">
</p-autoComplete>
';
$subst = "<p-$1$2/>";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php