import Foundation
let pattern = #"\$organization\['(.*?)'\]"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
<?php $view->extend('layout.html.php') ?>
<div class="boxContainer contentContainer textContainer">
<?php //echo $this->partial('common/notifications.phtml', 'default',
//array('messages' => $this->notificationMessages)); ?>
<?php echo $view->render(':scripts:common/notifications.html.php') ?>
<h2 class="contentHeader"><span><?php echo $view['translator']->trans('om.organization.detail.heading', [], 'om');?></span></h2>
<div class="detail">
<!-- Organization -->
<?php if (!empty($organization['Name'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.name', [], 'om');?><span data-igo-help-tooltip="help.om.organization.name.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['Name']);?></span>
</div>
<?php endif; ?>
<?php if (isset($organization['Active'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.active', [], 'om');?><span data-igo-help-tooltip="help.om.organization.active.tooltip"></span></span>
<span class="field"><?php /* @fixme echo $this->stateImage($organization['Active'] ? 'ACTIVE' : 'INACTIVE') .
' ' . $this->booleanMessage($organization['Active']); */?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['Type'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.type', [], 'om');?><span data-igo-help-tooltip="help.om.organization.type.tooltip"></span></span>
<span class="field"><?php echo $view->escape($view['translator']->trans('om.organization.type.' . $organization['Type'], [], 'om')); ?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['OwnerOrganizationId'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.ownerOrganization', [], 'om');?><span data-igo-help-tooltip="help.om.organization.ownerOrganization.tooltip"></span></span>
<span class="field">
<?php // echo $this->entityReference('organization', $organization['OwnerOrganizationId']); ?>
</span>
</div>
<?php endif; ?>
<?php if (!empty($childOrganizations)): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.childOrganizations', [], 'om');?><span data-igo-help-tooltip="help.om.organization.childOrganizations.tooltip"></span></span>
<span class="field">
<?php for ($i = 0; $i < count($childOrganizations); $i++): ?>
<?php
echo $childOrganizations[$i]['name'];
?>
<?php if ($i < count($childOrganizations) -1 ): ?>, <?php endif; ?>
<?php endfor; ?>
</span>
</div>
<?php endif; ?>
<?php if (!empty($organization['CountryIds'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.countryIds', [], 'om');?><span data-igo-help-tooltip="help.om.organization.countryIds.tooltip"></span></span>
<span class="field">
<?php foreach ($organization['CountryIds'] as $countryId): ?>
<?php // echo $view->escape($this->country($countryId)->getCountryName()); ?><br />
<?php endforeach; ?>
</span>
</div>
<?php endif; ?>
<?php if (!empty($organization['LanguageCodes'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.languageCodes', [], 'om');?><span data-igo-help-tooltip="help.om.organization.languageCodes.tooltip"></span></span>
<span class="field">
<?php
for ($i = 0; $i < count($organization['LanguageCodes']); $i++) {
if (!empty($organization['LanguageCodes'][$i])) {
// echo $this->entityReference('language', trim($organization['LanguageCodes'][$i]));
if ($i !== count($organization['LanguageCodes']) - 1) {
echo ', ';
}
}
}
?>
</span>
</div>
<?php endif; ?>
<?php if (!empty($organization['Roles'])):?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.person.roles', [], 'om'); ?><span data-igo-help-tooltip="help.om.organization.roles.tooltip"></span></span>
<span class="field">
<?php for ($i = 0; $i < count($organization['Roles']); $i++) :?>
<?php echo $organization['Roles'][$i]['name']; ?>
<?php if ($i < count($organization['Roles']) -1): ?>, <?php endif; ?>
<?php endfor;?>
</span>
</div>
<?php endif;?>
<?php if ($organization['Type'] === 'POS' & !empty($organization['Flags'])): ?>
<?php foreach($organization['Flags'] as $flag): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.' . $flag);?><span data-igo-help-tooltip="help.om.organization.<?= $flag ?>.tooltip"></span></span>
<span class="field">Yes</span>
</div>
<?php endforeach; ?>
<?php endif; ?>
<?php if (!empty($organization['LogotypeFilename'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('image', [], 'om'); ?><span data-igo-help-tooltip="help.om.organization.logotypeFilename.tooltip"></span></span>
<span class="field">
<?php if ($organization['LogotypeFilename']): ?>
<img src="<?php echo $view->escape($organization['LogotypeFilename']); ?>"
alt="<?php echo $view->escape($organization['Name']); ?>"
title="<?php echo $view->escape($organization['Name']); ?>"/>
<?php endif; ?>
</span>
</div>
<?php endif; ?>
<?php if (!empty($organization['Description'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.description', [], 'om');?><span data-igo-help-tooltip="help.om.organization.description.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['Description']);?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['CustomCardType'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.customCardType', [], 'om');?><span data-igo-help-tooltip="help.om.organization.customCardType.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['CustomCardType']); ?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['ContractStartDate'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.contractStartDate', [], 'om');?><span data-igo-help-tooltip="help.om.organization.contractStartDate.tooltip"></span></span>
<span class="field"><?php echo $organization['ContractStartDate'];?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['ContractEndDate'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.contractEndDate', [], 'om');?><span data-igo-help-tooltip="help.om.organization.contractEndDate.tooltip"></span></span>
<span class="field"><?php echo $organization['ContractEndDate'];?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['MamutId'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.mamutId', [], 'om');?><span data-igo-help-tooltip="help.om.organization.mamutId.tooltip"></span></span>
<span class="field"><?php echo $organization['MamutId'];?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['ContactEmail'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.contactEmail', [], 'om');?><span data-igo-help-tooltip="help.om.organization.contactEmail.tooltip"></span></span>
<span class="field"><?php echo $organization['ContactEmail'];?></span>
</div>
<?php endif; ?>
<hr />
<!-- Contact attributes -->
<?php if (!empty($organization['Address1'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.address1', [], 'om');?><span data-igo-help-tooltip="help.om.organization.address1.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['Address1']);?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['Address2'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.address2', [], 'om');?><span data-igo-help-tooltip="help.om.organization.address2.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['Address2']);?></span>
</div>
<?php endif; ?>
<?php if (!empty($this->postalCode['cardType'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.postalCode', [], 'om');?><span data-igo-help-tooltip="help.om.organization.postalCode.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['PostalCode']);?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['CityGeoId'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.cityGeoId', [], 'om');?><span data-igo-help-tooltip="help.om.organization.cityGeoId.tooltip"></span></span>
<span class="field"><?php // echo $view->escape($this->city($organization['CityGeoId'])->getCityName());?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['Phone'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.phone', [], 'om');?><span data-igo-help-tooltip="help.om.organization.phone.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['Phone']);?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['Fax'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.fax', [], 'om');?><span data-igo-help-tooltip="help.om.organization.fax.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['Fax']);?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['Email'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.email', [], 'om');?><span data-igo-help-tooltip="help.om.organization.email.tooltip"></span></span>
<span class="field"><?php echo $view->escape($organization['Email']);?></span>
</div>
<?php endif; ?>
<!-- Operational attributes -->
<hr />
<?php if (!empty($organization['CreatedDate'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.createdDate', [], 'om');?><span data-igo-help-tooltip="help.om.organization.createdDate.tooltip"></span></span>
<span class="field"><?php echo $organization['CreatedDate'];?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['LastModifiedDate'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.lastModifiedDate', [], 'om');?><span data-igo-help-tooltip="help.om.organization.lastModifiedDate.tooltip"></span></span>
<span class="field"><?php echo $organization['LastModifiedDate'];?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['LastModifiedByUserId'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('lastModifiedByUser', [], 'common'); ?><span data-igo-help-tooltip="help.om.organization.lastModifiedByUser.tooltip"></span></span>
<span class="field">
<?php // echo $this->entityReference('user', $organization['LastModifiedByUserId']); ?>
</span>
</div>
<?php endif; ?>
<!-- Additional organization info -->
<?php if (!empty($organization['Websites']) ||
!empty($organization['TwitterLink']) ||
!empty($organization['FacebookLink']) ||
!empty($organization['StudentPopulation']) ||
!empty($organization['CardRetailSellingPrice'])): ?>
<hr />
<?php endif; ?>
<?php if (!empty($organizationWebsites)): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.website', [], 'om'); ?><span data-igo-help-tooltip="help.om.organization.website.tooltip"></span></span>
<span class="field">
<?php for ($i = 0; $i < $websitesCount = count($organizationWebsites); $i++) :?>
<a href="<?php echo $organizationWebsites[$i]; ?>" target="_blank"><?php echo $organizationWebsites[$i]; ?></a>
<?php if ($i != $websitesCount - 1) {
echo(", ");
} ?>
<?php endfor;?>
</div>
<?php endif; ?>
<?php if (!empty($organization['TwitterLink'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.twitterLink', [], 'om'); ?><span data-igo-help-tooltip="help.om.organization.twitterLink.tooltip"></span></span>
<span class="field"><a href="<?php echo $organization['TwitterLink'];?>" target="_blank"><?php echo $organization['TwitterLink'];?></a></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['FacebookLink'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.facebookLink', [], 'om'); ?><span data-igo-help-tooltip="help.om.organization.facebookLink.tooltip"></span></span>
<span class="field"><a href="<?php echo $organization['FacebookLink'];?>" target="_blank"><?php echo $organization['FacebookLink'];?></a></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['StudentPopulation'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.studentPopulation', [], 'om'); ?><span data-igo-help-tooltip="help.om.organization.studentPopulation.tooltip"></span></span>
<span class="field"><?php echo $organization['StudentPopulation'];?></span>
</div>
<?php endif; ?>
<?php if (!empty($organization['CardRetailSellingPrice'])): ?>
<div class="fieldRow">
<span class="label"><?php echo $view['translator']->trans('om.organization.cardRetailSellingPrice', [], 'om'); ?><span data-igo-help-tooltip="help.om.organization.cardRetailSellingPrice.tooltip"></span></span>
<span class="field"><?php echo $organization['CardRetailSellingPrice'];?></span>
</div>
<?php endif; ?>
</div>
</div>
<?php if (Default_Model_SecurityUtils::hasPermission('ROLE_OM_ORGANIZATION_READ')): ?>
<div class="pageControls">
<div class="left">
<?php // @FIXME $defaultBackUrl = $this->url(array('controller' => 'organizations', 'action' => 'search', 'module' => 'om'), 'default'); ?>
<a class="btn btn-link" href="<?php // echo $this->backUrl($defaultBackUrl); ?>"><?php echo $view['translator']->trans('back', [], 'common'); ?></a>
</div>
<div class="right">
<?php
// @FIXME $targetUrl = $this->url(array('action' => 'edit', 'id' => $organization['OrganizationId']), 'resource');
?>
<?php //@FIXME echo $this->renderButton('edit', array('style' => 'wlw', 'align' => 'right',
//'href' => $this->backUrlAppend($targetUrl))); ?>
</div>
<div class="clearer"></div>
</div>
<?php endif; ?>
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"\$organization->get$1()"#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
print(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 Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression